2013-02-14 270 views
1

我有customerBankAccount表。 CustomerIDBankAccount表中的外键。在这里,我们必须处理一对多的关系。我已经完成了CustomerInfoBankAccountInfo的映射。我已附上问题帖子。如何映射Nhibernate集合

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

回答

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> 

注意:此映射有一些冗余属性,这可以帮助更智能地加载。例如。批量大小将避免1 + N负载,而做1 + N/25 ...级联会隐式解决添加项目的持久性...阅读更多文档。

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