2012-03-05 15 views
0

スカラープロパティを定義せずに複合外部キーを定義することは可能ですか?私はFluentAPIを使用してAとBタイプのためのスカラーIDプロパティを定義せずにプロパティAObjectとBObject CompoundKeyClassの化合物のPKを作ることができますどのようにスカラー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; } 
} 

答えて

1

できません。 AIDBIDの両方は、複雑な主キーとしてマップされたCompoundKeyClassに含まれている必要があり、それぞれは関連するテーブルに外部キーとしてマップする必要があります。

+0

あなたの答えをありがとう。私はこれが大文字になるのではないかと心配しました。 –

1

私はあなたができないと思う。私はこの上のドキュメントを見つけることができる最も近いthis次のとおりです。

KeyAttribute

KeyAttributeは/列プロパティは、エンティティの主キーの一部であり、スカラーに適用されることを指定するために使用されますプロパティのみ。

ただし、外部キーのプロパティに「_AID」と「_BID」を指定したり、[Browsable(false)]とマークする必要があります。これにより、誤って使用したり、偶然に見たりすることがありません。

+0

この提案も役立ちます、ありがとう –

関連する問題