나는 NHibernate를 배우고있다. 설명서의 예제와 여기 stackoverflow에서 예제를 사용했지만 뭔가를 놓쳤을 것입니다.NHibernate 부모 매핑이 자식 foreign-key를 생성하지 않는다
자식 컬렉션이있는 PARENT 개체가 있습니다. 자식은 부모가 없으면 의미가 없으므로 데이터베이스에는 FK가 NOT NULL로 설정됩니다. CHILD에서 PARENT로 NHibernate를 구현하는 것은 잘되지만, 나는 이러한 관계의 방향을 필요로하지 않는다.
대신에, 나는 관계를 소유하는 부모를 구현하려고하지만 지속적으로 품어 데이터베이스 오류가 "PARENT_ID에 NULL 값을 삽입 할 수 없습니다"얻을. 저장시 학부모의 ID 나 실체가 어린이에게 저장되지 않습니다.
아래 코드 샘플을 참조하십시오. 제발 조언.
클래스 파일
public class PARENT {
private readonly IList<CHILD> _children = new List<CHILD>();
public virtual Id { get; set; }
public virtual void AddChild(CHILD child) {
_children.add(child);
}
}
public class CHILD {
public virtual Id { get; set; }
}
매핑
<class name="PARENT" table="Parent">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity" />
</id>
<bag name="Children" access="field.camelcase-underscore" cascade="all-delete-orphan">
<key column="ParentId"/>
<one-to-many class="CHILD"/>
</bag>
</class>
<class name="CHILD" table="Child">
<cache usage="read-write"/>
<id name="Id" column="Id" unsaved-value="0" >
<generator class="identity"/>
</id>
</class>
당신이 알고 있지만 경우 확실하지, 여기 -> http://www.summerofnhibernate.com/ NHibernate에 대한 몇 가지 정말 좋은 스크린 캐스트를위한! – Perpetualcoder