ホーム>source

外部キー "FK_TeamMember_Teams_TeamId"のon-delete: "ReferentialAction.Restrict"に設定されていますが、TeamMemberテーブルからレコードを削除しようとすると、次のエラーが発生します。このエラーを取り除く方法を教えてください。

<前>ウィズウィズ


以下は移行コードブロックです

<前>ウィズウィズ


OnModelCreatingメソッド以下も使用しました。

<前>ウィズウィズ


ありがとうございました

Microsoft.EntityFrameworkCore.DbUpdateException: An error occurred while updating the entries. See the inner exception for details. ---> Microsoft.Data.SqlClient.SqlException (0x80131904): The DELETE statement conflicted with the REFERENCE constraint "FK_TeamMember_Teams_TeamId". The conflict occurred in database "mot", table "dbo.TeamMember", column 'TeamId'. The statement has been terminated.
あなたの答え
  • 解決した方法 # 1

    マスターテーブルがレコードを削除すると、詳細テーブル内の関連するレコードも削除されるため、動作は正しいと思います。それを維持する意味はありません。データは冗長になります。ただし、このようなシナリオを作成する場合は、migration.cs内でCascadeDeleteをRestrictionに設定しますが、期待どおりに機能しません。次の記事は、動作を理解するのに役立ちます。

    https://docs.microsoft.com/en-us/ef/core/saving/cascade-delete

関連記事

  • 前へ java - JPAクエリ:サブクエリをグループ化条件に結合する
  • 次へ ruby on rails - Simple_formブートストラップスタイルinline-formが正しく機能しない