我尝试使用重新加载功能放弃一些更改。我得到一个InvalidOperationException
. 我怎样才能防止这种情况?
DbContext.SaveChanges();
//Entity is in Unchanged state
//Make some changes to an entity
//Change state to modified
DbContext.Entry(entity).Reload();
InvalidOperationException
EntityMemberChanged 或 EntityComplexMemberChanged 被调用,而没有首先在具有相同属性名称的相同更改跟踪器上调用 EntityMemberChanging 或 EntityComplexMemberChanging。有关正确报告更改的信息,请参阅实体框架文档。
编辑:
我已经启用和禁用ProxyCreationEnabled
, LazyLoadingEnabled
.
也尝试了不同的方法。所有这些尝试都会引发相同的异常。
var objContext = ((IObjectContextAdapter)context).ObjectContext;
objContext.Refresh(RefreshMode.ClientWins, entry.Entity);
entry.OriginalValues.SetValues(entry.GetDatabaseValues());
希望我得到一个解决方案。不想处理完整的 DbContext 以重新加载所有数据。