繁体   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