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


ObjectContext.Attach(IEntityWithKey) Метод

Определение

Присоединяет объект или граф объектов к контексту объекта, если объект имеет ключ сущности.

public:
 void Attach(System::Data::Objects::DataClasses::IEntityWithKey ^ entity);
public void Attach (System.Data.Objects.DataClasses.IEntityWithKey entity);
member this.Attach : System.Data.Objects.DataClasses.IEntityWithKey -> unit
Public Sub Attach (entity As IEntityWithKey)

Параметры

entity
IEntityWithKey

Присоединяемый объект.

Исключения

Значение параметра entitynull.

Недопустимый ключ сущности.

Примеры

В этом примере два объекта присоединяются, а затем определяется связь.

private static void AttachRelatedObjects(
    ObjectContext currentContext,
    SalesOrderHeader detachedOrder,
    List<SalesOrderDetail> detachedItems)
{
    // Attach the root detachedOrder object to the supplied context.
    currentContext.Attach(detachedOrder);

    // Attach each detachedItem to the context, and define each relationship
    // by attaching the attached SalesOrderDetail object to the EntityCollection on
    // the SalesOrderDetail navigation property of the now attached detachedOrder.
    foreach (SalesOrderDetail item in detachedItems)
    {
        currentContext.Attach(item);
        detachedOrder.SalesOrderDetails.Attach(item);
    }
}

Комментарии

Вызовите метод Attach для объекта ObjectContext, чтобы присоединить объект к контексту объекта. Это можно сделать, если объект уже существует в источнике данных, но в настоящее время не подключен к контексту. Дополнительные сведения см. в разделе Настройка объектов.

Attach используется для присоединения объекта или объекта верхнего уровня в графе объектов.

В присоединяемом объекте должен быть реализован интерфейс IEntityWithKey, чтобы показать ключ EntityKey. Все сформированные классы сущности реализуют интерфейс IEntityWithKey.

При присоединении связанных объектов необходимо также вызвать Attach для EntityReference<TEntity> или , EntityCollection<TEntity> чтобы определить связь.

Этот метод вызывает метод AttachTo.

Во время присоединения объектов следует принимать во внимание следующие соображения.

  • Если у присоединяемого объекта есть связанные объекты, они также будут присоединены к контексту объекта.

  • Объекты добавляются к контексту объекта в неизменном состоянии.

  • Объект, который передается методу Attach, должен иметь допустимое значение EntityKey. Если у объекта нет допустимого значения EntityKey, используйте для указания имени набора сущностей метод AttachTo.

Применяется к

См. также раздел