Поделиться через


Как присоединить связанные объекты (платформа Entity Framework)

В настоящем разделе приведены примеры того, как присоединить связанные объекты к контексту объекта. Дополнительные сведения см. в разделе Присоединение и отсоединение объектов (платформа Entity Framework). Пример в этом разделе основан на модели Adventure Works Sales. Чтобы запустить код, используемый в данном примере, необходимо сначала добавить к проекту модель AdventureWorks Sales и настроить проект на использование платформы Entity Framework . Для этого выполните процедуры, описанные в разделах Как вручную настроить проект Entity Framework и Как определить модель и файлы сопоставления вручную (платформа Entity Framework).

Пример

В этом примере коллекция отсоединенных объектов SalesOrderDetail добавляется к отсоединенному объекту SalesOrderHeader, а затем этот граф объектов присоединяется к контексту объекта.

Private Shared Sub AttachObjectGraph(ByVal currentContext As ObjectContext, ByVal detachedOrder As SalesOrderHeader, ByVal detachedItems As List(Of SalesOrderDetail))
    ' Define the relationships by adding each SalesOrderDetail 
    ' object in the detachedItems List<SalesOrderDetail> collection to the 
    ' EntityCollection on the SalesOrderDetail navigation property of detachedOrder. 
    For Each item As SalesOrderDetail In detachedItems
        detachedOrder.SalesOrderDetails.Add(item)
    Next

    ' Attach the object graph to the supplied context. 
    currentContext.Attach(detachedOrder)
End Sub
private static void AttachObjectGraph(
    ObjectContext currentContext,
    SalesOrderHeader detachedOrder,
    List<SalesOrderDetail> detachedItems)
{
    // Define the relationships by adding each SalesOrderDetail 
    // object in the detachedItems List<SalesOrderDetail> collection to the 
    // EntityCollection on the SalesOrderDetail navigation property of detachedOrder.
    foreach (SalesOrderDetail item in detachedItems)
    {
        detachedOrder.SalesOrderDetails.Add(item);
    }

    // Attach the object graph to the supplied context.
    currentContext.Attach(detachedOrder);
}

См. также

Основные понятия

Сериализация объектов (платформа Entity Framework)
Построение многоуровневых приложений (платформа Entity Framework)