1. 程式人生 > >ef core code first 模式提示"可能會導致循環或多重級聯路徑"問題

ef core code first 模式提示"可能會導致循環或多重級聯路徑"問題

any 數據庫 數據 build 變化 restrict eat prope pro

執行命令

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 模式提示"可能會導致循環或多重級聯路徑"問題