我正在尝试更新现有实体。
我有以下代码:
public MamConfiguration_V1 Save(MamConfiguration_V1 item)
{
mMaMDBEntities.MamConfiguration_V1.Attach(item);
mMaMDBEntities.ObjectStateManager.ChangeObjectState(item, System.Data.EntityState.Modified);
mMaMDBEntities.SaveChanges();
return item;
}
但是 Attach
方法抛出异常:
A referential integrity constraint violation occurred: The property values that define the referential constraints are not consistent between principal and dependent objects in the relationship.
我该如何解决这个问题?
最佳答案
似乎您与外键字段和 item
中的导航属性有某种关系,并且这些字段具有冲突的值。当您加载实体及其相关实体、更改一端的关系、仅将那一端标记为 Modified
并尝试保存时,就会发生这种情况。确保在调用 SaveChanges
之前修改两端的关系并将所有受影响的实体标记为 Modified
。
关于c# - 发生引用完整性约束冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16128664/