[英]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?
你不能。 AID
和BID
必须在您的CompoundKeyClass
映射为复杂主键,并且每个都必须作为外键映射到相关表。
我怀疑你不能; 我可以找到这个文件的最接近的是这个 :
KeyAttribute
KeyAttribute用于指定属性/列是实体主键的一部分,仅适用于标量属性。
但是,您应该能够将外键属性命名为“_AID”和“_BID”,和/或将它们标记为[Browsable(false)]
。 这应该确保您不会意外使用甚至看不到它们。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.