C# “如何调试错误”;从属角色有多个具有不同值的主体。”;

C# “如何调试错误”;从属角色有多个具有不同值的主体。”;,c#,entity-framework,debugging,ef-database-first,C#,Entity Framework,Debugging,Ef Database First,我的问题是如何调试错误“引用完整性约束冲突。依赖角色有多个具有不同值的主体”。使用数据库优先方法时? 如何找出导致错误的实体 当您收到此错误并且不知道它来自哪个表时,在DB模式中具体查找什么?我所处的场景是,数据库中有数百个表,我刚刚将它们添加到EF-DB图中 Visual Studio将给出带有此消息的内部异常,以及错误代码-2146232022,但在中断验证的实体处没有指针 背景: EF 6.0(数据库优先) MS-SQL 2014 C# 显然,此错误是在model.SaveChanges

我的问题是如何调试错误“引用完整性约束冲突。依赖角色有多个具有不同值的主体”。使用数据库优先方法时?

如何找出导致错误的实体

当您收到此错误并且不知道它来自哪个表时,在
DB模式中具体查找什么?我所处的场景是,数据库中有数百个表,我刚刚将它们添加到
EF-DB图中

Visual Studio将给出带有此消息的
内部异常
,以及
错误代码-2146232022
,但在中断验证的实体处没有指针

背景:

  • EF 6.0(数据库优先)
  • MS-SQL 2014
  • C#
  • 显然,此错误是在
    model.SaveChanges()上触发的

在尝试SQL Server探查器之后,我发现尽管错误可能是由数据库的核心验证系统发送的,但在使用
model.SaveChanges()
时,SQL Server上没有运行任何查询。 所以,这可能只是外键的问题,EF6试图生成一个不存在的外键

在检查SQL上的每个外键后,我发现了错误。其中一个错误地定义在另一个数据库字段上。将其更改为右侧字段后,所有内容都再次保存