Since Entity Framework 5.0 DbContext
has a ChangeTracker
property which has all pending changes. Similar to the ObjectStateManager
you can get entities in various states as follows:
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Added);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Deleted);
myDbContext.ChangeTracker.Entries().Where(e => e.State == EntityState.Modified);