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

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

原文地址:https://www.cnblogs.com/saving/p/9271954.html