ef core code first 模式提示"可能会导致循环或多重级联路径"问题

Posted saving

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ef core code first 模式提示"可能会导致循环或多重级联路径"问题相关的知识,希望对你有一定的参考价值。

执行命令

dotnet ef mirations add "xxxxxx"

dotnet ef database update

 

报错

 

将 FOREIGN KEY 约束 ‘FK_SkuPropertyItem_Sku_SkuId‘ 引入表 ‘SkuPropertyItem‘ 可能会导致循环或多重级联路径。请指定 ON DELETE NO ACTION 或 ON UPDATE NO ACTION,或修改其他 FOREIGN KEY 约束。
无法创建约束。请参阅前面的错误消息

 

修改项目定义的dbContext的类,在OnModelCreating方法中加

       modelBuilder.Entity<SkuPropertyItem>()
                 .HasOne(t => t.Sku).WithMany()
                 .HasForeignKey(t => t.SkuId)
                 .OnDelete(DeleteBehavior.Restrict);

  

执行命令

dotnet ef mirations add "xxxxxx"

dotnet ef database update

还是报错。

 

因为没有把上次错误的migration删除。

 

如果抱错的话,要执行

dotnet ef mirations remove

再执行

dotnet ef mirations add "xxxxxx"

dotnet ef database update

查看是否正确迁移数据库变化


以上是关于ef core code first 模式提示"可能会导致循环或多重级联路径"问题的主要内容,如果未能解决你的问题,请参考以下文章

EF Core中的DB First与Code First

如何使用 EF Core Code-First 创建具有子类别的类别表? [复制]

EF Core 2.0使用MsSql/Mysql实现DB First和Code First

如何使用EF Core Code-First桥接自己的表

持续部署的 EF Core Code First 运行时迁移回滚策略

如何在 EF Core Code First 中自定义迁移生成?