1

我是 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,我们如何将地址关联到用户。

谢谢您的帮助。:)

4

1 回答 1

2

int BillingAddressID称为外键属性。

BillingAddress称为导航属性(在本例中为引用导航属性)。

定义关系不需要外键属性,但它们确实简化了某些编码模式。一般建议是同时使用导航属性和外键属性。

有关为何引入 FK 关联的更多信息,请参见此处

于 2013-04-28T18:32:19.107 回答