当试图通过 context.AttachTo(...)
附加一个已经附加到给定上下文的对象时,我得到了以下错误:
ObjectStateManager 中已经存在具有相同键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。
有没有一种方法可以达到这样的效果:
context.IsAttachedTo(...)
干杯!
编辑:
Jason 描述的扩展方法很接近,但是它不适合我的情况。
我正在尝试用另一个问题的答案中概述的方法做一些工作:
如何使用 Linq to Entities * 删除表中的一行或多行,而不首先检索行?
我的代码有点像这样:
var user = new User() { Id = 1 };
context.AttachTo("Users", user);
comment.User = user;
context.SaveChanges();
这种方法工作得很好,除了当我为该用户执行其他操作时,我使用相同的方法并尝试附加一个虚拟的 User
对象。这将失败,因为我之前已经附加了该虚拟用户对象。我怎么查这个?