2012-03-05 67 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 CompoundKeyClass的化合物PK而不定義的用於使用FluentAPI A,B型的標ID屬性?

回答

1

你不能。 AIDBID都必須在您的CompoundKeyClass中映射爲複雜主鍵,並且它們中的每一個都必須映射爲相關表的外鍵。

+0

感謝您的回答。我擔心這會發生。 – 2012-03-05 20:58:48

1

我懷疑你不能;最接近我可以找到這個文件是this

KeyAttribute

KeyAttribute用於指定一個屬性/列是實體的主鍵的一部分,適用於標僅屬性。

但是,您應該能夠命名外鍵屬性「_AID」和「_BID」,並/或將它們標記爲[Browsable(false)]。這應確保您無法使用或偶然看到它們。

+0

這個建議也有幫助,謝謝 – 2012-03-05 20:59:51