我是ASP MVC的新手,正在开发一个具有复杂相关数据模型的项目。因此,在处理关系时,我在网上看了一下,并在asps.net的博客上得到了以下示例:
namespace CodeFirst.Associations.OneToOneFK
{
public class User
{
public int UserId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public int BillingAddressId { get; set; }
public int DeliveryAddressId { get; set; }
public Address BillingAddress { get; set; }
public Address DeliveryAddress { get; set; }
}
public class Address
{
public int AddressId { get; set; }
public string Street { get; set; }
public string City { get; set; }
public string PostalCode { get; set; }
}
}
所以我怀疑我们是否真的需要int BillingAddressID和Address BillingAddress? 另外,如果我们不使用AddressID,我们如何将地址与用户关联。
感谢您的帮助。 :)
答案 0 :(得分:2)
int BillingAddressID
被称为外键属性。
BillingAddress
称为导航属性(在本例中为引用导航属性)。
定义关系不需要外键属性,但它们确实简化了某些编码模式。一般建议是使用导航属性和外键属性。
有关为何引入FK关联的详细信息,请参阅here。