I'm trying to track all changes of my database overriding the SaveChanges()
method.
My problem is how to get old and new values:
var addedEntities = ctx.ChangeTracker.Entries().Where(x => x.State == EntityState.Added).Select(x => x.Entity);
var modifiedEntities = ctx.ChangeTracker.Entries().Where(x => x.State == EntityState.Modified).Select(x => x.Entity);
var deletedEntities = ctx.ChangeTracker.Entries().Where(x => x.State == EntityState.Deleted).Select(x => x.Entity);
foreach (var added in addedEntities)
{
}
foreach (var modified in modifiedEntities)
{
}
foreach (var deleted in deletedEntities)
}
}
In those loops I have to retrieve the old and the new value of the entity changed. How can I achieve it?