我有一个Employee
表,可以将员工与他们的联系信息联系起来。我把它设置成这样:
[ForeignKey("AddressId")]
public virtual Address Address { get; set; }
[ForeignKey("HomePhoneId")]
public virtual PhoneNumber HomePhone { get; set; }
[ForeignKey("WorkPhoneId")]
public virtual PhoneNumber WorkPhone { get; set; }
[ForeignKey("CellPhoneId")]
public virtual PhoneNumber CellPhone { get; set; }
但是,当我尝试从数据库加载员工时,它会自动重命名列,完全覆盖属性:
Invalid column name 'PhoneNumber_Id'.
Invalid column name 'PhoneNumber_Id1'.
Invalid column name 'PhoneNumber_Id2'.
Invalid column name 'Address_Id'.
为什么要这样做?
答案 0 :(得分:0)
为每个导航属性都正确指定了ID。似乎问题与链接回Employee的每个PhoneNumber
和Address
对象上的导航属性有关。我现在不需要它们,因此删除这些导航属性可以解决问题。