如何映射Nhibernate集合

时间:2013-02-14 09:30:36

标签: nhibernate collections

我有customerBankAccount个表格。 CustomerIDBankAccount表中的外键。在这里,我们要处理一对多的关系。我已完成CustomerInfoBankAccountInfo的映射。我附上了问题帖子。

我们希望使用Iesi.collections进行收集。有没有人有关于如何在Nhibernate中做到这一点的想法?

1 个答案:

答案 0 :(得分:0)

要执行集合映射,请先阅读本文档:Chapter 6. Collection Mapping

如果您将使用Iesi个集合,最合适的可能是ISet<>,其目的是仅允许插入unqiue值:

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 ...级联将隐式解决添加项的持久性...在doc中阅读更多内容。

完整的ISet描述:http://ayende.com/blog/3943/nhibernate-mapping-set