发现我有这样的代码,其正常工作:对象不能被删除,因为它没有在ObjectStateManager
db.myTable.DeleteObject(myCurrent);
而且我得到了这个错误:
The object cannot be deleted because it was not found in the ObjectStateManager.
同样的成分在数据库中的表。
我尝试这样做:
db.myTable.Attach(myCurrent);
db.myTable.DeleteObject(myCurrent);
而且我得到了另一个错误:
An entity object cannot be referenced by multiple instances of IEntityChangeTracker.
如何解决这一问题?
第二个异常意味着你有'myCurrent'附加到或加载到另一个上下文实例比'db'。 – Slauma 2013-04-11 20:07:33
@Slauma,但这怎么可能? – 2013-04-12 05:43:09
如果您没有正确处理旧的上下文,并且'myCurrent'仍然附加到它,可能会发生这种情况。或者你在上下文'db1'中加载'myCurrent',然后尝试用另一个上下文'db2'删除它。 – Slauma 2013-04-12 11:53:38