나는 다음과 같은 상황이 :복합 모델 삽입 문제
public Parent
{
public ChildOne C1 {get;set;}
public ChildTwo C2 {get;set;}
}
public ChildOne
{
public int Id{get;set;}
...some primitive fields
}
public ChildTwo
{
public int Id{get;set;}
...other primitive fields
}
이러한 클래스에 대한 매핑은 다음과 같습니다
내가 2 개 클래스 (아이를) 가지고 복합 클래스 (부모) :
public class Parent: ClassMap<Parent>
{
public ParentMap()
{
Table("Parents");
Id(x => x.Id).Column("ParentId");
References(x => x.C1).Column("ChildOneId");
References(x => x.C2).Column("ChildTwoId");
}
}
및
public class ChildOne: ClassMap<ChildOne>
{
public ChildOneMap()
{
Table("ChildOnes");
Id(x => x.Id).Column("ChildOneId");
...other Mappings for primitive types
}
}
(ChildTwo의 경우에도 동일).
는 DB는 다음과 같다 :
Parents: ParentId, ChildOneId, ChildTwoId
ChildOne: ChildOneId, ...other columns
ChildOne: ChildTwoId, ...other columns
과 관계 ChildOneId (부모) < ==> ChildOneId (ChildOnes).
해당 하위 항목과 함께 Db에 새 상위 항목을 삽입하려는 경우 ChildOneId/ChildTwoId가 null 일 수 없다는 오류가 발생합니다.
삽입이 작동하려면 매핑 클래스에 무엇을 지정해야합니까?
감사합니다 (검색 작업이 제대로 작동), Tamash
부모 개체를 만드는 데 사용하는 코드와 ChildOne 및 ChildTwo 속성을 채우는 방법을 게시 할 수 있습니까? –