1

私はテーブルを持っcustomerています。テーブル内の外部キーです。ここでは、1 対多の関係を処理する必要があります。と のマッピングを行いました。質問投稿を添付しました。BankAccountCustomerIDBankAccountCustomerInfoBankAccountInfo

ここでは、 を使用してコレクションを行いたいと考えていますIesi.collections。Nhibernate でこれを行う方法についてアイデアを持っている人はいますか?

4

1 に答える 1

0

コレクションマッピングを行うには、このドキュメントを読み始めます:第 6 章コレクション マッピング

Iesiコレクションを使用する場合、ISet<>一意の値のみを挿入できるように設計された が最も適しています。

public class Customer
{
  public virtual Iesi.Collections.Generic.ISet<BankAccount> BankAccounts { get; set; }
}

そして、マッピングは次のようになります

<set name="BankAccounts" inverse="true" lazy="true" table="BankAccount" 
   cascade="all" batch-size="25" >
 <key column="CustomerId" />
 <one-to-many class="BankAccount" />
</set>

注: このマッピングには冗長な属性がいくつかあり、よりスマートな読み込みを行うのに役立ちます。たとえば、batch-size は 1+N の読み込みを回避しますが、1 + N/25 を実行します... cascade は、追加されたアイテムの永続性を暗黙的に解決します... 詳しくはドキュメントを参照してください。

完全な ISet の説明: http://ayende.com/blog/3943/nhibernate-mapping-set

于 2013-02-14T09:40:41.710 に答える