19

私が理解しているように、親行を削除すると、削除時にカスケードをオンにすると、その子が削除されます。ただし、私のテストでは、まったく機能していないようです。WillCascaseOnDelete を true に設定しても false に設定しても、子の外部キーが null に設定されるだけです。これは、外部キーをヌル可能に設定する必要があるという別の問題を引き起こしています。そうしないと、SaveChange で例外がスローされます。これは欠陥ですか、それとも望ましい動作ですか?

4

2 に答える 2

12

これは、外部キー (子) が null 許容であるためです。デフォルトでは、親を削除するときに、リレーションシップの外部キーが null 許容の場合、EF は親を削除し、外部キーを null に設定します。外部キーが NOT NULL の場合、子が削除されます (探している動作ですか?)。

このデフォルトの動作はここで変更できます

于 2013-09-25T16:05:12.160 に答える