提示 ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象 的错误。
如果不用spring注入,直接new的话,没有任何问题。。
用spring注入,删除、添加没有问题,更新就提示上面说的错误。。
求解!!
dbContext应该每个请求的时候new一个,如果注入单例的话,会有问题的 呵呵!
我也碰到这个问题,是这样的。
if (null != dbset.find(id))
{
dbset.Entry(item).State = EntityState.Modified;
}
这样会出现:ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。 我的解决办法:既然ObjectStateManager 中具有多个同一键的对象,那么我们操作的过程中只让他存在一个这样的对象就行了。
item = dbset.find(id))
if (null != item)
{
//item 修改
dbset.Entry(item).State = EntityState.Modified;
}