1

Company->Users の 1 対多の関係があり、会社が削除されたときにユーザーをカスケード削除したいと考えています。問題は、NHibernate (コンソール出力によると: 生成された SQL をコンソールに記録するように Nhibernate を構成しました) が最初に子コレクションをロードし、次にすべての子に対して削除を実行することです。ロードせずに子コレクションをカスケード削除するようにNHibernateを構成するにはどうすればよいですか?

4

1 に答える 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 に答える