0

通知、NewItemNotifications、Itemsの3つのテーブルがあります。
NewItemNotificationsおよびItemsテーブルにONDELETEルールを設定しました。これにより、一部のアイテムを削除するとNewItemNotification行が削除されます。
問題は、通知テーブルの親行がまだ存在していることです。これをどのように処理できますか?

ここに画像の説明を入力してください

4

1 に答える 1

2

NewItemNotification依存テーブルです-データベースの制約によって親レコードの削除をトリガーすることはできません。唯一の方法は、依存レコードが削除された後NewItemNotificationにテーブルで削除を実行するためにデータベーストリガーを書き込むことです。Notification

問題は、EFがNewItemNotificationトリガーの存在を知らないために削除しようとすると、そのようなトリガーが問題を引き起こす可能性があることです。EFが知らないNewItemNotificationうちにアイテムの削除をトリガーするレコードを最初に削除しました。Notificationその後、EFはNotificationレコードの削除を再試行しますが、レコードはすでに削除されています。同時実行例外が発生すると思います。

この場合の最良のオプションは、カスケード削除を使用せず、自分で削除を処理することです。

于 2012-07-03T14:48:03.210 に答える