禁用外键约束代码首先EF

时间:2014-02-26 05:27:21

标签: c# sql-server entity-framework ef-code-first foreign-keys

如果我想在关系上禁用外键约束。如果我在数据库中编辑,我会做以下事情:

enter image description here

但我希望在我的迁移文件或我的配置或我的模型中禁用外键约束。关于“代码优先”方法的注释形式。到目前为止,我没有提出任何事情,但我尝试了.WillCascadeOnDelete(false)。我还注意到EF并不关心我是否可以自由地从数据库中禁用外键约束,但在我看来这会违反代码第一种方法。 所以,任何建议都非常感谢。

1 个答案:

答案 0 :(得分:5)

我找到的一个解决方案是运行我自己的自定义迁移,如:

Sql("ALTER TABLE dbo.ProductItems NOCHECK CONSTRAINT [FK_dbo.ProductItems_dbo.Services_ProductItemTypeId]");

不知道这是否是唯一的方法。仍然愿意接受建议。