Export (0) Print
Expand All

ObjectContext::Attach Method

Attaches an object or object graph to the object context when the object has an entity key.

Namespace:  System.Data.Objects
Assembly:  System.Data.Entity (in System.Data.Entity.dll)

public:
void Attach(
	IEntityWithKey^ entity
)

Parameters

entity
Type: System.Data.Objects.DataClasses::IEntityWithKey

The object to attach.

ExceptionCondition
ArgumentNullException

The entity is nullptr.

InvalidOperationException

Invalid entity key.

Call Attach on the ObjectContext to attach the object to the object context. Do this when the object already exists in the data source but is currently not attached to the context. For more information, see Attaching Objects (Entity Framework).

Attach is used to attach an object or the top-level object in an object graph.

The object being attached must implement IEntityWithKey to expose an EntityKey. All generated entity classes implement IEntityWithKey.

When you attach related objects, you must also call Attach on the EntityReference<TEntity> or the EntityCollection<TEntity> to define the relationship.

This method calls the AttachTo method.

The following considerations apply when attaching objects:

  • If the object being attached has related objects, those objects will also be attached to the object context.

  • Objects are added to the object context in an unchanged state.

  • The object that is passed to the Attach method must have a valid EntityKey value. If the object does not have a valid EntityKey value, use the AttachTo method to specify the name of the entity set.

The example in this topic is based on the Adventure Works Sales Model. In this example, two objects are attached and then the relationship is defined.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5 SP1

.NET Framework Client Profile

Supported in: 4

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Show:
© 2014 Microsoft