代码改变世界

Entity Framework中编辑时错误ObjectStateManager 中已存在具有同一键的对象

2013-06-13 15:02  地图315  阅读(427)  评论(0编辑  收藏  举报

ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。 
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.InvalidOperationException: ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同

键的多个对象。

出错这个错误是因为使用了有跟踪状态的查询。

解决方法,在查询的时候加上asNoTracking() 即可。。。

例如:

db.Students.AsNoTracking().Single(x => x.Id ==Id);