c# - 发生引用完整性约束冲突

标签 c# asp.net-mvc entity-framework-4

我正在尝试更新现有实体。

我有以下代码:

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/

相关文章:

c# - Java ZIP 文件从一个 zip 复制并粘贴到另一个 zip

asp.net-mvc - 当我的表单方法是 POST 时,用户请求 GET

jquery - 对象不支持属性或方法 'valid'

c# - 从 Entity Framework 中的导航属性中删除所有记录

c# - 避免在 Entity Framework 中重复投影代码

.net - EF 4为什么不为具有唯一索引的列生成FK关系的关联?

c# - 从另一个 Controller 调用一个 Action

c# - 实现 C# Tcp 打洞时出错 - 无法在 NAT 后面连接

c# - 使用 Dragula 在应用程序中拖放 WebDriver

c# - 在 ASP.net MVC Entity Framework 代码中创建外键关系