【发布时间】:2011-05-09 06:13:00
【问题描述】:
我想知道为什么 DbContext 对象上没有像 ObjectContext 那样的 Detach 方法。我只能假设这种遗漏是故意的,但我很难弄清楚为什么。我需要能够分离和重新附加实体(例如,用于将缓存放入 ASP.NET 项目中)。但是,由于我无法分离实体,所以当我尝试附加与先前上下文关联的实体时,我得到“一个实体对象不能被多个 IEntityChangeTracker 实例引用”异常。
这里的指导是什么?我错过了什么吗?
【问题讨论】:
-
有什么要说的:“这里的指导是什么?我错过了什么吗?”就个人而言,我只对在寻找从上下文中读取实体的解决方案时使用 Detach 感兴趣,就在保存从 UI 返回的实例之前。这给了我“ObjectStateManager 中已经存在具有相同键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。”
标签: entity-framework code-first