0

MYSqlデータベースとEntityFrameworkをORMとして使用しています。テーブルAとテーブルBの2つのテーブルがあります。テーブルAには、テーブルBの一部のフィールドの外部キーであるフィールドがあります。このキーの制約は次のとおりです。Update:Restrict、Delete:Restrictしたがって、状況は次のようになります。

  • テーブルBからレコードを削除しようとすると、すべて正常に機能します
  • テーブルBからレコードを削除しようとしたときに、このレコードがテーブルAの別のレコードによって参照されている場合、何も実行されず、ofcが予期されます。
  • 参照されているテーブルBからレコードを削除しようとすると、何も実行されません。その後、テーブルBからそのレコードを参照していたテーブルAからレコードを削除しようとすると、両方のレコードが削除されているように見えます。ただし、テーブルAのレコードのみを削除する必要があります。

したがって、失敗したクエリをキャッシュし、可能な場合はそれを実行しようとする、ある種のキャッシュがあると思います。

私の言葉が非常に曖昧な場合は、いつか写真を投稿しようと思います=)

ああ、そして質問:誰かがこの状況をクリアできますか?)

4

1 に答える 1

0

この問題を解決しました。キャッシュなどはありません=)削除しようとしたエンティティオブジェクトだけがEntityState.Deletedでマークされ、例外がスローされたにもかかわらず、状態はロールバックされませんでした。

于 2012-12-14T09:11:21.783 に答える