質問: '30 ' DELETE CASCADEについてSystem.Data.SqlClient.SqlException(0x80131904):テーブル 'アクション'にFOREIGN KEY制約 'FK_Actions_Issues_IssueId'を導入すると、サイクルまたは複数のカスケードパスが発生することがあります。 NO DELETE NO ACTIONまたはUP UP NO NO ACTIONを指定するか、他のFOREIGN KEY制約を変更してください。 > > 次に、onDelete:ReferentialAction.CascadeをonDelete:ReferentialAction.SetNullに変更しようとしましたが、何も問題なく動作していませんでしたが、このテーブルの3番目の外部キーとなることはわかりません。 私の次のステップは、最後の移行を削除することでしたが、次のことについて不平を言うようになりました。 > System.ArgumentException:コレクション引数 'foreignKeyPropertyNames'に少なくとも1つの要素が含まれている必要があります。 Microsoft.EntityFrameworkCore.Mtadata.Builders.ReferenceCollectionBuilderのMicrosoft.EntityFrameworkCore.Utilities.Check.NotEmpty [T](IReadOnlyList `1 value, String parameterName) at Microsoft.EntityFrameworkCore.Metadata.Builders.ReferenceCollectionBuilder` 2.HasForeignKey(String [] foreignKeyPropertyNames)ISSupport.Models.ISSupportContext。<> c .b__69_7(EntityTypeBuilder`1 b)in > > 私は最後のコミットにロールバックすることができますが、私は何をしたのか、次のラウンドでは避けなければならないことはわかりません。 Googleはこのエラーを助けませんでした。 .NETコア2.0 EFコア2.0 SQL Server 13.0.1742 **更新**私はロールバックをしなければならなかったし、再び外部キーを追加しました。複数のカスケードパスについてもう一度不平を言いました。そして、私はそれを`onDelete: ReferentialAction.NoAction`への移行Up()メソッドで変更し、更新を正常に実行しました。私は前に何があったのかわからないし、まだ説明が必要なのはどうしてReferentialAction.NoActionを設定しなければならないのですか?
回答: マイグレーションUp()メソッドでは、外部キーReferentialActionを`onDelete: ReferentialAction.NoAction`に切り替える必要がありました