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>
은 그 때 나는 자체 EmployeeDataContext에 의해 생성하는 PersonDataContext을 만들 수 있습니다. 그런 다음 NHibernate가 예외를 throw 할 때 "속성을 확인할 수 없습니다 : PersonId"를 throw합니다.
다른 부분 클래스를 추가하십시오. –