Company->Users の 1 対多の関係があり、会社が削除されたときにユーザーをカスケード削除したいと考えています。問題は、NHibernate (コンソール出力によると: 生成された SQL をコンソールに記録するように Nhibernate を構成しました) が最初に子コレクションをロードし、次にすべての子に対して削除を実行することです。ロードせずに子コレクションをカスケード削除するようにNHibernateを構成するにはどうすればよいですか?
質問する
298 次
1 に答える
0
ここでこの回答を見てください: https://stackoverflow.com/a/1323461/27343
最適化の余地があるかもしれませんが、実際にはそれほど悪くはなく、場合によっては、SQL の削除ステートメントをやみくもに実行しようとするよりも、子をロードする方が良い場合があります。
NHibernate は「on delete cascade」オプションをサポートします
<key column="column" on-delete="cascade" />
ただし、特定の状況下でのみ機能します。マッピング ファイルをロードすると通知されます。
于 2012-09-04T13:22:04.597 に答える