我有customer
和BankAccount
个表格。 CustomerID
是BankAccount
表中的外键。在这里,我们要处理一对多的关系。我已完成CustomerInfo
和BankAccountInfo
的映射。我附上了问题帖子。
我们希望使用Iesi.collections
进行收集。有没有人有关于如何在Nhibernate中做到这一点的想法?
答案 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