C'est mon troisième jour et ça me rend fou.Impossible d'auditer sur le cadre d'entité d'insertion. Je suis coincé pouvez-vous aider?
besoin de vérifier chaque fois que je fais je un insert accrochage obviosly à SaveChanges est pas bon pour moi que je besoin du nouveau GeneratedID que vous obtenez lorsque vous ajoutez un nouveau record
J'ai overriden SaveChanges et là, je peux maintenant obtenir les entrées nouvellement ajoutées avec la clé primaire. Mon problème est que j'ai maintenant un nouveau fichier à insérer et que j'ai besoin de rappeler SaveChanges. Soit je me retrouve dans une boucle infinie, soit j'insère deux fois l'enregistrement.
Comment auditer un insert si vous avez besoin de la clé primaire de votre exemple d'objet nouvellement inséré (CustomerId)
public override int SaveChanges(SaveOptions options)
{
int changes = base.SaveChanges(SaveOptions.DetectChangesBeforeSave);
IEnumerable<ObjectStateEntry> entries = Context.ObjectStateManager.GetObjectStateEntries(EntityState.Added);
foreach (ObjectStateEntry entry in entries)
{
var auditLog=CreateAuditLog(Entry);
}
//Because I have saved I now got the new Id. I now need to save the newly created log and therefore
//I call save again but now this will save again all the previous stuff too or get in a infinite loop
//Is there a way I could just save the newly added stuff what is the workaround?
base.SaveChanges();
return changes;
}
Comment auditer sur insert? un exemple?
pouvez-vous fournir le code pour cette méthode s'il vous plaît -> CreateAuditLog (Entrée); – Rob
Quel moteur de base de données utilisez-vous? –
@Rob Je vais ajouter le code mais j'ai besoin de le retravailler car il y a beaucoup de choses que je ne peux pas inclure. @Raj J'utilise Sql Server 2008 – user9969