我无法向ObjectContext添加一个对象,即使我确信它没有附加且它与不同的上下文无关
我正在使用带有POCO对象的EF 4。
如果我尝试
_currentContext.ObjectStateManager.GetObjectStateEntry(entityIn)
然后我收到错误
The ObjectStateManager does not contain an ObjectStateEntry with a reference to an object of type 'System.Data.Entity.DynamicProxies.OrderItem_7D361CB49D75AA90681B4BA3F924139ECB0FC1426E38E90C7B884A4E9CD777DF'.
足够公平,它不存在。所以如果我试着附上它
_currentContext.AttachTo("OrderItems", entityIn)
然后我得到
An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
我怎样才能得到这两个错误。他们不矛盾吗?如何将其附加到上下文中?
修改
整个应用程序中只有一个上下文。模式是
如果您对上下文对象进行两次实例化,则每个实例的哈希码都是相同的。
答案 0 :(得分:2)
对象entityIn
可能引用了另一个上下文中的对象。
但是,这里的真正的问题是你在范围内有多个上下文。这样做是很难。在Web应用程序中,每个请求应该有一个上下文句点。