我在NHibernate中遇到了一對一的關係問題。是我的對象的結構如下:NHibernate - 一對一的關係
public partial class PersonDataContext
{
protected int _personid;
protected string _name;
protected EmployeeDataContext _employee;
}
public partial class EmployeeDataContext
{
protected int _personid;
protected string _payrollno;
}
在我的模型中,每個PersonDataContext必須只包含一個EmployeeDataContext,和每一個存在EmployeeDataContext有是一個PersonDataContext的一部分。這是一種常見的一對一關係。
現在,映射:
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="PersonDataContext, DAL" table="`Person`" lazy="false">
<id name="PersonId" column="`PersonId`" type="int">
<generator class="native" />
</id>
<property type="string" name="name" column="`name`" />
<one-to-one name="Employee" cascade="save-update" class="EmployeeDataContext,DAL" />
</class>
</hibernate-mapping>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2">
<class name="EmployeeDataContext, DAL" table="`Employee`" lazy="false">
<id name="PersonId" column="`PersonId`">
<generator class="foreign">
<param name="property" >PersonId</param>
</generator>
</id>
<property type="string" length="30" name="PayRollNo" column="`PayRollNo`" />
</class>
</hibernate-mapping>
然後,我創建一個PersonDataContext,通過自身的EmployeeDataContext創建。然後,當我保存NHibernate引發異常,「無法解析屬性:PersonId」。
請添加其他部分類。 – 2011-01-21 14:22:36