相关疑难解决方法(0)

实体框架代码优先:如何在两个表之间创建一对多和一对一的关系?

这是我的模型:

public class Customer
{
    public int ID { get; set; }

    public int MailingAddressID { get; set; }
    public virtual Address MailingAddress { get; set; }

    public virtual ICollection<Address> Addresses { get; set; }
}

public class Address
{
    public int ID { get; set; }

    public int CustomerID { get; set; }
    public virtual Customer Customer { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

客户可以拥有任意数量的地址,但这些地址中只有一个可以是邮寄地址.

如果我只使用一个,我可以得到One to One关系,One to Many工作得很好,但是当我尝试介绍两者时,我在Addresses表上获得了多个CustomerID键(CustomerID1,CustomerID2,CustomerID3).我真的把头发撕成了这个.

为了映射一对一的关系,我使用这里描述的方法http://weblogs.asp.net/manavi/archive/2011/01/23/associations-in-ef-code-first-ctp5-part- 3,一到一个外键,associations.aspx

c# entity-framework entity-framework-ctp5

19
推荐指数
1
解决办法
2万
查看次数