【问题标题】:Made column Not Nullable, EF foreign keys errors使列不可为空,EF 外键错误
【发布时间】:2015-01-16 21:32:21
【问题描述】:

我将表中的列从 NULL 更改为 NOT NULL,从数据库更新模型,现在出现以下错误:

错误 3 运行转换:多重性与 关系中角色“注册”中的引用约束 'fk_cost_centre_registration'。因为所有的属性在 依赖角色是不可为空的,主要角色的多重性 必须是“1”。

我不确定如何解决这个问题。我做错了什么?

我对自己修改过的一张表的很多导航属性做了很多修改,无法删除重新添加,要不然我需要重命名所有导航属性并删除很多我不需要,可能会出现回归问题。这是我在使用 EF 时面临的另一个问题 - 因为我更改了一些导航属性,所以删除和读取表格是一个大问题。是的,我可以记录我需要的属性,但是 - 也许我做错了什么?

【问题讨论】:

  • 您是否尝试删除有问题的表然后更新?
  • 检查这个答案我认为它会帮助你:stackoverflow.com/questions/8007129/…
  • 与搜索生成的 EF 代码并自己修复问题相比,重新制作表格和重命名内容可能会花费更少的时间。如果您有很多已重命名的属性,请查看this strategy,以便在重新生成模型时保留您的命名。

标签: c# entity-framework


【解决方案1】:

只需通过属性选项卡更改多重性。如果 Dependent Role 可以为空,则其多重性将为 0..1 (Zero or One of ...)。如果它不可为空,它应该是1 (One of ...)。所以打开你的模型,找到你的外键并改变适当的多重性,如图所示

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-26
    • 2021-11-14
    • 2017-02-15
    • 1970-01-01
    • 2021-10-27
    • 2019-06-05
    • 1970-01-01
    • 2021-10-28
    相关资源
    最近更新 更多