注意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 实际是已跟踪这个实体