上下文已经跟踪了实体 - 我知道但是如何解决它?

时间:2013-12-08 22:05:46

标签: c# wpf wcf entity-framework

我正在编写WPF客户端应用程序并使用WCF数据服务与数据库进行通信。我有以下情况:我添加了一个新的策略,它有一个附加的对象House,每个House都有一个Address。在标准的实体框架应用程序中,它不是一个问题,但在这里我需要添加entites之间的关系。这是我的代码:

context.AddToPolicySet(Policy);
context.AddToAdressSet(Address);
context.AddRelatedObject(Address, "HouseSet", House); 
context.AddRelatedObject(Policy, "HouseSet", House); // !!!!!!!!!!!!
Policy.HouseSet.Add(House);
House.PolicySet = Policy;
Address.HouseSet.Add(House);
House.AdressSet = Address;

现在,我了解上下文已经在跟踪实体。但是如何解决这个问题呢?如果我删除第四行然后我得到错误"插入语句暴力外键约束..."。在我看来,我需要在政策上附上一幢房子,并在地址上附上房子。但我的方式显然是错误的方式。什么是正确的? :)

1 个答案:

答案 0 :(得分:1)

使用AddLink方法:

context.AddLink(Policy, "HouseSet", House);

修改

似乎是

context.SetLink(House, "PolicySet", Policy);