This documentation is archived and is not being maintained.

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)

member Attach : 
        entity:IEntityWithKey -> unit 


Type: System.Data.Objects.DataClasses.IEntityWithKey
The object to attach.


The entity is a null reference (Nothing in Visual Basic).


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, 3.5 SP1

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

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