我正在使用EF更新实体。
这是我的代码:
public MamConfiguration_V1 Save(MamConfiguration_V1 item)
{
item.ThrowIfNull("item");
mMaMDBEntities.MamConfiguration_V1.AddObject(item);
mMaMDBEntities.ObjectStateManager.ChangeObjectState(item, System.Data.EntityState.Modified);
mMaMDBEntities.SaveChanges();
return item;
}
然而,通过这种方式,我在DB中获得了PK违规erorr。
我更喜欢这种方式(创建一个新的EF实体)并将其标记为
修改后,我怎么能不打破单一性限制?
答案 0 :(得分:-1)
如果您使用此方法更新现有项目,则由于
而收到异常 mMaMDBEntities.MamConfiguration_V1.AddObject(item);
线。看起来这个代码你试图把这个项目第二次放到你的表中。如果我猜对了,并且您使用此方法更新现有项目,则应该删除此行 - EF将根据您对对象字段所做的更改自动更新数据库。