0

最近、データ層に Fluent Nhibernate を使い始めましたが、問題が発生しました。複数の外部キー制約を持つレコードを削除するときはいつでも、そのデータベース エンティティを表すためだけに別のクラスを作成する必要があります。つまり、他の多くのテーブルと関係を持つ User レコードのようなものについては、他の目的には決して使用しない 10 個の異なるクラスのようなものを作成する必要があります。少なくともそれが、物事がどのように機能するかについての私の理解です。

これらのレコードをマップせずにすべて削除する方法はありますか? たとえば、ユーザーの例を使用すると、ユーザーは複数の役割、部門、電子メール アドレス、電話番号、住所などを持つことができます。これらのレコードをすべて削除したいのですが、それらすべてを Nhibernate クラスにマップする必要はありません。

これを実現する UserMapping に設定できるプロパティはありますか?

ありがとう!

4

1 に答える 1

1

これらのエンティティがマップされていない場合、NHibernate はそれらについて認識できない可能性があります。ただし、次のいずれかの選択肢を選択できます。

  • データベース レベルで FK カスケードを設定します (データベースがサポートしている場合)。
  • データベース トリガーを使用して、カスケードを手動でコーディングします (データベースがトリガーをサポートしている場合)。
  • IPostDeleteEventListener (データベース トリガーに似ていますが、NHibernate レベル) を使用して、カスケードを手動でコーディングします。
于 2010-09-17T18:47:53.560 に答える