我一直在观察一个非常奇怪的案例。
foreach (var obj in objs)
{
// a - unattached object
DomainObject a = this.dict[key];
using(var context = new DomainModelContainer())
{
this.SomeMethod(context, a);
}
}
...
private void SomeMethod(DomainModelContainer context, DomainObject obj)
{
// some code here with the query
context.Entry(obj).State = EntityState.Unchanged;
}
毕竟我得到一个异常:ObjectStateManager 中已经存在具有相同键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。
我想知道 DbContext 的新实例是否真的是新的,如果不是,我如何才能完全“清除”它?