我的问题是如何调试错误"参照完整性约束违规。依赖角色具有多个具有不同值的主体。"使用Database-First方法时?
如何找出导致错误的实体?
当您收到此错误并且不知道它来自哪个表时,在DB Schema
中要具体说明什么?我在数据库中有数百个表格,我刚刚添加到EF DB Diagram
中。
Visual Studio将为inner exception
提供此消息并error code -2146232022
但不会指向破坏验证的实体。
背景:
model.SaveChanges()
答案 0 :(得分:2)
尝试SQL Server Profiler之后,我已经看到尽管数据库的核心验证系统应该发送错误,但在model.SaveChanges()
时,SQL服务器上没有运行任何查询。
因此,只有外键问题,EF6试图生成一个不存在的外键。
我在检查SQL上的每个外键后发现了错误。其中一个被错误地定义在另一个数据库字段上。在将其更改为正确的字段后,所有内容都会再次保存。