NHibernate的。在保存父级启动存储集合

时间:2010-03-19 06:52:55

标签: nhibernate collections parent-child lazy-evaluation

我在保存我的实体方面遇到了问题。 映射:

 ?xml version="1.0" encoding="utf-8" ?>
 <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
               assembly="Clients.Core"
               namespace="Clients.Core.Domains">
<class name="Sales, Clients.Core" table='sales'>
   <id name="Id" unsaved-value="0">
  <column name="id" not-null="true"/>
  <generator class="native"/>
</id>
<property name="Guid">
  <column name="guid"/>
</property>
<set name="Accounts" table="sales_users" lazy="false">
  <key column="sales_id" />
  <element column="user_id" type="Int32" />
</set>

域:

public class Sales : BaseDomain
{
    ICollection<int> accounts = new List<int>();
    public virtual ICollection<int> Accounts
    {
        get { return accounts; }
        set { accounts = value; }
    }
    public Sales() { }           
}

当我保存销售对象时,帐户集合不保存在sales_users表中。 我应该怎么做才能保存它?请不要建议我使用List里面的类

非常感谢。

1 个答案:

答案 0 :(得分:2)

在您映射集合时,您似乎错过了cascade attribute