2010-07-09 6 views
1

여러 자식이 포함 된 Parent 객체를 저장하는 데 문제가 있습니다. 다음과 같이 NHibernate - 부모 자식 관계를 가진 모델 저장시 문제가 발생했습니다.

모델 클래스

은 다음과 같습니다

XML 매핑 XML 매핑 CitationEvent.hbm.xml

<many-to-one name="Driver" class="Driver" column="DRIVER_ID" cascade="none"/> 

에서

<bag name="_CitationEvents" access="field" cascade="all-delete-orphan" inverse="true"> 
     <key column="DRIVER_ID" /> 
     <one-to-many class="CitationEvent" /> 
</bag> 

Driver.hbm.xml에 내가 driver을 저장하려고하면 NHibernate에 다음 발생 예외에 저장

코드 : 문제에 대한

ITransaction transaction = session.BeginTransaction(IsolationLevel.ReadCommitted); 

try 
{ 
    session.Save(driver); 
    transaction.Commit(); 
} 
catch (Exception ex) 
{ 
    transaction.Rollback(); 
} 

하나 명 더 관찰 : 난 그냥 빈 목록 _CitationEvents와 드라이버를 저장하려고하면 가 나에게이 예외를 제공하지 않습니다.

답변

2

이것은 NHibernate 특정 오류가 아닙니다. 가능한 원인은 null 허용되지 않는 유형으로 변환하려는 클래스 중 하나에 nullable 속성이 있다는 것입니다. 이 예외는 값이없는 nullable 형식의 Value 속성에 액세스하려고하면 .NET Framework에서 throw됩니다.

관련 문제