注意Entity中的Uptate

今天在调用架构中的UpdateEntity方法时

public bool UpdateEntity(T entity)
{

OC.CreateObjectSet<T>().Attach(entity);//这就是报错所在
OC.ObjectStateManager.ChangeObjectState(entity, EntityState.Modified);
//return db.SaveChanges() > 0;

return true;
}

报ObjectStateManager 中已存在具有同一键的对象。ObjectStateManager 无法跟踪具有相同键的多个对象。错误

原因是我是这么调用的

model.djbh = zzService.GetEntity(zz => zz.ygzzid == model.ygzzid).djbh;
if (zzService.UpdateEntity(model))
{
return Content("edit");
}
else
{
return Content("no");
}

我先在entity中找出对应的model了,这样ObjectStateManager 实际是已跟踪这个实体

原文地址:https://www.cnblogs.com/xjt360/p/3992790.html