实体框架引入FOREIGN KEY约束可能会导致循环或多个级联路径。周期在哪里?

时间:2017-05-27 12:50:26

标签: tsql ef-code-first entity-framework-6 referential-integrity

当我尝试为我的实体框架代码第一个数据库创建数据库时,我在标题中出现错误

我理解消息错误的含义(可能不是??),我知道如何禁用该特定属性的级联删除

我想知道哪些属性导致错误,因为我只在表中看到一个级联删除

enter image description here

1 个答案:

答案 0 :(得分:1)

如果我运行你的脚本,我会

Msg 1785,Level 16,State 0,Line 472 在表'WorkOrders'上引入FOREIGN KEY约束'FK_dbo.WorkOrders_dbo.Customers_CustomerId'可能会导致循环或多个级联路径。指定ON DELETE NO ACTION或ON UPDATE NO ACTION,或修改其他FOREIGN KEY约束。 Msg 1750,Level 16,State 1,Line 472 无法创建约束或索引。查看以前的错误。

引起
    ALTER TABLE [dbo].[WorkOrders] ADD CONSTRAINT
       [FK_dbo.WorkOrders_dbo.Customers_CustomerId] FOREIGN KEY 
       ([CustomerId]) REFERENCES [dbo].[Customers] ([Id]) ON DELETE CASCADE

我通常会关闭级联删除。我想知道什么时候删除了。

循环可以是Customer,W​​orkOrder,Alarm,Customer,