没有标量PK特性的EF PK FK映射
问题描述:
定义复合外部主键而不定义标量特性是否可行?没有标量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属性?
答
你不能。 AID
和BID
都必须在您的CompoundKeyClass
中映射为复杂主键,并且它们中的每一个都必须映射为相关表的外键。
答
我怀疑你不能;最接近我可以找到这个文件是this:
KeyAttribute
KeyAttribute用于指定一个属性/列是实体的主键的一部分,适用于标仅属性。
但是,您应该能够命名外键属性“_AID”和“_BID”,并/或将它们标记为[Browsable(false)]
。这应确保您无法使用或偶然看到它们。
+0
这个建议也有帮助,谢谢 – 2012-03-05 20:59:51
感谢您的回答。我担心这会发生。 – 2012-03-05 20:58:48