我正在编写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;
现在,我了解上下文已经在跟踪实体。但是如何解决这个问题呢?如果我删除第四行然后我得到错误"插入语句暴力外键约束..."。在我看来,我需要在政策上附上一幢房子,并在地址上附上房子。但我的方式显然是错误的方式。什么是正确的? :)
答案 0 :(得分:1)
使用AddLink方法:
context.AddLink(Policy, "HouseSet", House);
修改强>
似乎是
context.SetLink(House, "PolicySet", Policy);