当尝试通过以下方式附加已附加到给定上下文的对象时,出现以下错误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
对象。这失败了,因为我之前已经附加了该虚拟用户对象。我该如何检查?