合并Entity Framework中的对象?

时间:2015-01-07 18:11:16

标签: vb.net entity-framework

我正在尝试创建一个合并功能,在我的应用程序中,我有一个用户对象,该用户对象与该用户相关的其他对象具有PK / FK关系。 (对于我的例子,说联系是对象,订单与联系人有1:多的关系。

该函数将传入两个EF对象,其中一个是“保留”记录,另一个是“合并”。因此,如果存在重复的字段输入,则保留的所有数据都应该获胜。这一切都很简单,但我无法理解如何将所有链接对象指向新记录PK / FK问题。

如何在EF(设计优先)中实现这一目标?

来自MS的示例代码 - 我可以简单地加载与合并相关的对象并更改其FK关系吗? (以下示例中的不同接触)。这样说联系人创建了两次,并且两个联系人下都存在订单,我们希望保留第一个联系人,并删除重复的联系人。首先,我们必须将所有订单重新分配给正确的联系人(不同的联系人),然后才能删除重复的联系人值?

 Using context As New POCOAdventureWorksEntities()
    Dim orderId As Integer = 43659
    Dim differentContactID As Integer = 5
    Dim order As Order = context.Orders.Include("Contact").Where(Function(o) o.SalesOrderID = orderId).First()
    Dim differentContact As Contact = context.Contacts.First(Function(c) c.ContactID = differentContactID)

    order.ContactID = differentContact.ContactID '// Something like this? 
    context.SaveChanges()

0 个答案:

没有答案