Asp.net mvc 4 ASP MVC 4先映射一对一关系代码

Asp.net mvc 4 ASP MVC 4先映射一对一关系代码,asp.net-mvc-4,ef-code-first,Asp.net Mvc 4,Ef Code First,我是ASP MVC新手,正在从事一个具有复杂相关数据模型的项目。因此,在处理这些关系的过程中,我在网上查看,并在asps.net的博客上获得了以下示例: namespace CodeFirst.Associations.OneToOneFK { public class User { public int UserId { get; set; } public string FirstName { get; set; } publi

我是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-BillingAddress和Address-BillingAddress吗? 另外,如果不使用AddressID,我们如何将地址与用户关联


谢谢你的帮助。:)

int BillingAddressID
称为外键属性

BillingAddress
称为导航属性(在本例中为参考导航属性)

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

有关引入FK关联的原因的更多信息,请参见