这里是我的模型:实体框架代码优先:如何创建两个表之间的一对多和一对一关系?
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; }
}
顾客可以有任意数量的地址,但是只有一个地址可以是一个邮寄地址。
我可以得到一对一的关系,一对多的工作很好,如果我只使用一个,但是当我尝试并引入我在地址表上得到多个CustomerID键(CustomerID1,CustomerID2,CustomerID3)。我真的把头发撕掉了。
为了映射我使用我知道你在想弄清楚这样的实体框架的方式在这里描述的方法http://weblogs.asp.net/manavi/archive/2011/01/23/associations-in-ef-code-first-ctp5-part-3-one-to-one-foreign-key-associations.aspx
然而,这产生具有维护,只有一个'Address'有问题'IsPrimaryMailing = TRUE;它可以很容易出问题。 – georgiosd 2012-05-14 13:13:57