我在断开连接的情况下工作,但我注意到处理对象上下文不会释放附加的实体。结果,后续操作经常因此而失败。
因此,为了解决这个问题,我在处理对象上下文时自己分离所有内容:
public void Dispose()
{
// detaching is not really needed, because we have short living object contexts
var objectStateEntries =
_context.UnderlyingContext.ObjectStateManager.GetObjectStateEntries(EntityState.Unchanged);
objectStateEntries.ToList().ForEach(o => { if (o.Entity != null)
{
_context.UnderlyingContext.Detach(o.Entity);
}});
_context.Dispose();
_context = null;
}
但是,副作用是对象图完全分离,但我真的想保留图!
看来我没有找到解决方案,是真的做不到吗?