2013-08-26 2 views
0

당 이드 독특한 http://notherdev.blogspot.com/2012/01/mapping-by-code-inheritance.html표 - 예 감안할 때 서브 클래스

에서 내가 기본 클래스가 당과 두 개의 구체적인 클래스 (회사, 사람)

나는 (Hierachy 당 표를 사용하고 싶습니다 단일 테이블)이지만, 고유 ID는 구체 유형마다 고유합니다.

즉 회사 및 개인이 일치 가질 수 이드의

복합 ID와 이드의 판별 값을 포함 할 수있는 방법이 있는가? 그래도 Get <> (id)를 호출 할 수 있습니까?

답변

0

어떻게 이런 일이 (유창함)에 대한 :

어쨌든
public class PartyMap : ClassMap<Party> 
{  
    public PartyMap() 
    { 
      Table("Parties");    
      CompositeId<CompositeIdType>(x => x.Id) 
      .KeyProperty(x => x.IdCompositePart) 
      .KeyProperty(x => x.Discriminator); 
      DiscriminateSubClassesOnColumn("Discriminator"); 
    } 
} 
+0

난 아직도 단지 IdCompositePart로 가져 호출 할 수 있도록 그것을 설정하는 방법? –

+0

나는 가능하다고 생각하지 않는다. Get은 엔티티의 식별자를 사용합니다. 식별자는 수퍼 클래스에 정의되어야하며 모든 서브 클래스와 공유되어야합니다. 엔티티간에 식별자를 공유하지 않으면 상속이 전혀 필요하지 않을 수 있습니다. – Apocatastasis

관련 문제