将POCO实体附加到上下文时出现InvalidOperationException

时间:2011-06-27 06:57:31

标签: c# entity-framework-4 poco

我在将POCO实体附加到其上下文时遇到了麻烦。我收到InvalidOperationException并显示以下消息:

  

ObjectStateManager中已存在具有相同键的对象。 ObjectStateManager无法使用相同的键跟踪多个对象。

实际上,我只用一个项目得到了这个例外。当我在这个特定项目之外附加不同的项目时,我没有遇到过这种异常。

我正在使用以下代码:

 ItemDocument itemDocument = new ItemDocument();
 Item item = GetItem(itemID); // the item I got here is detached
 using (SampleContext context = new SampleContext()){
      context.Items.Attach(item);  // I got the exception here
      context.LoadProperty(item, "Classifications");
      itemDocument.Classification = item.Classifications.Select(c => c.Name).ToList();
 }

感谢。

1 个答案:

答案 0 :(得分:0)

如果在使用相同的密钥附加新对象之前尝试从上下文中Detach旧对象呢?