正确的方法来创建实体之间的连接

时间:2014-02-20 22:02:56

标签: c# entity-framework

我是EF的新手,我有一个问题 这是我模型中的情况:
父母实体:“客户
两个孩子实体:“私人”和“公共” 另一个“地址

客户可以拥有多个ShippingAddresses
私人拥有ONE HomeAddress
公共有一个 LegalAddress

所以,我用这种方式填写了协会的表格:
1)客户 - >地址
   1->许多
   [X] []
   ShippingAddresses ......
   [X]添加外键

2)私人 - >地址
   1 - > 1
   [X] []
   HomeAddress ......
   .........

3)公共 - >地址
   1 - > 1
   [X] []
   LegalAddress ......
   .........

这就是全部。问题是当我尝试添加一个简单的记录时

Client client = new Private();
client.Name = "John";
client.HomeAddress = new Address();
//filling the address' properties...                    
dbContext.Clients.Add(client);

当我打电话

dbContext.SaveChanges();

我得到: “AccountingModelContainer.Addresses”中的实体参与“PublicAddress”关系。找到0个相关的“公共”。 1'公众是预期的。

我做错了什么??? tnx提前,Giovanni

1 个答案:

答案 0 :(得分:0)

尝试创建公共地址。

 client.LegalAddress = new Address().