簡體   English   中英

EF PK FK映射沒有標量PK屬性

[英]EF PK FK mapping without scalar PK properties

是否可以定義復合外鍵而不定義標量屬性?

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; }
}

如何在不使用FluentAPI定義A和B類型的標量ID屬性的情況下,使屬性AObject和BObject成為CompoundKeyClass的復合PK?

你不能。 AIDBID必須在您的CompoundKeyClass映射為復雜主鍵,並且每個都必須作為外鍵映射到相關表。

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

KeyAttribute

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

但是,您應該能夠將外鍵屬性命名為“_AID”和“_BID”,和/或將它們標記為[Browsable(false)] 這應該確保您不會意外使用甚至看不到它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM