Я хочу обновить все объекты моего DbContext
без повторного создания, я попробовал следующее, и ни один из них не имеет смысла:
var context = ((IObjectContextAdapter)myDbContext).ObjectContext;
var refreshableObjects = (from entry in context.ObjectStateManager.GetObjectStateEntries(
EntityState.Added
| EntityState.Deleted
| EntityState.Modified
| EntityState.Unchanged)
where entry.EntityKey != null
select entry.Entity);
context.Refresh(RefreshMode.StoreWins, refreshableObjects);
//.......................................................................
foreach (var entry in this.Orm.ChangeTracker.Entries())
{
entry.State = EntityState.Unchanged;
}
this.Orm.ChangeTracker.DetectChanges();
И только тот, который обновляет мой DbContext
:
foreach (var i in this.Orm.ChangeTracker.Entries())
i.Reload();
Но это слишком медленно. Можете ли вы помочь мне выбрать правильный путь?