2012-03-05 4 views
0

스칼라 속성을 정의하지 않고 복합 외부 기본 키를 정의 할 수 있습니까?스칼라 PK 속성이없는 EF PK FK 매핑

public class A 
{ 
    public virtual int AID { get; set; } 
} 

public class B 
{ 
    public virtual int BID { get; set; } 
} 

public class CompoundKeyClass 
{ 
    public virtual A AObject { get; set; } 
    public virtual B BObject { get; set; } 
} 

어떻게 등록 AObject 및 BObject FluentAPI를 사용하여 A 및 B 타입의 스칼라 속성 ID를 정의하지 않고 CompoundKeyClass의 화합물 PK 수 있는가?

답변

1

수 없습니다. AIDBID은 모두 복잡한 기본 키로 매핑 된 CompoundKeyClass에 있어야하며 각각은 관련 테이블에 외래 키로 매핑되어야합니다.

+0

답장을 보내 주셔서 감사합니다. 이것이 두려운 것이 었습니다. –

1

나는 할 수 없다고 생각합니다. 나는이에 대한 문서를 찾을 수있는 가장 가까운 this입니다 :

KeyAttribute KeyAttribute이 속성/컬럼은 엔티티의 기본 키의 일부임을 지정하는 데 사용하고 스칼라에 적용된다

속성 만.

그러나 외래 키 속성의 이름을 "_AID"및 "_BID"로 지정하거나 [Browsable(false)]으로 표시 할 수 있습니다. 이렇게하면 실수로 사용하거나 볼 수 없게됩니다.

+0

이 제안도 도움이됩니다. 감사합니다. –

관련 문제