EF SaveChanges错误

时间:2012-05-03 17:33:42

标签: asp.net-mvc entity-framework

UPDATE语句与FOREIGN KEY约束“FK_tblStmtTask_StmtBatchID”冲突。冲突发生在数据库“CRM”,表“dbo.tblStmtBatch”,列'ID'。

声明已终止

我在保存对'tblStmtTask'的修改时遇到此错误。我知道我有'tblStmtBatch'的外键,但我不知道为什么更改任务中不相关的列应该有对批次的任何影响。

如何解读实际出现此错误的根本原因?

1 个答案:

答案 0 :(得分:2)

在update语句上放置一个断点。 FK属性将为空。为了找到设置为空的步骤,最好的办法是断点创建实体并逐步执行它,这样就可以精确定位FK设置为​​空的位置。

如果FK属性在创建时为空,则表示映射存在问题。如果使用DefaultModelBinder创建实体,请确保您也在表单中提供了FK属性,例如使用@Html.HiddenFor HTML帮助程序。