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

posted @ 2014-09-25 14:47  xjt360  阅读(191)  评论(0编辑  收藏  举报