Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

EntityCollection<TEntity>.Attach méthode (TEntity)

 

Date de publication : novembre 2016

Définit une relation entre deux objets attachés dans un contexte d'objet.

Espace de noms:   System.Data.Objects.DataClasses
Assembly:  System.Data.Entity (dans System.Data.Entity.dll)

public void Attach(
	TEntity entity
)

Paramètres

entity
Type: TEntity

Objet qui est attaché.

Exception Condition
ArgumentNullException

Lorsque le entity est null.

InvalidOperationException

Lorsque le entity ne peut pas être associée à l’objet source. Cela peut se produire lorsque l'association dans le schéma conceptuel ne prend pas en charge une relation entre les deux types.

ou

Lorsque l’objet est null ou n’est pas dans un Unchanged ou Modified état.

La méthode Attach est utilisée pour définir les relations entre deux objets lorsque les deux objets existent déjà dans le contexte de l'objet. Pour attacher un objet ou un graphique d'objet lorsque les relations sont déjà définies, appelez la méthode Attach sur l'objet ObjectContext. Pour créer un nouvel objet associé à l'objet source, appelez la méthode Add sur l'objet EntityCollection<TEntity>. Pour plus d’informations, consultez attacher et détacher des objets.

Si l'objet EntityCollection<TEntity> contient déjà des objets chargés, la méthode Attach fusionne l'objet avec les objets existants dans l'objet EntityCollection<TEntity>.

Il n'est pas supposé que l'objet attaché est le jeu complet d'objets entité associés.

L'objet associé à cet objet EntityCollection<TEntity> et tous les objets qui y sont attachés doivent être à l'état Unchanged ou Modified.

Les objets à l'état Deleted peuvent être attachés uniquement lorsque l'objet ObjectStateManager effectue déjà le suivi de l'instance de relation.

Cet exemple est basé sur le. Pour exécuter le code de cet exemple, vous devez déjà avoir ajouté le modèle de vente AdventureWorks Sales Model à votre projet et configuré ce dernier pour qu’il utilise Entity Framework. Pour ce faire, exécutez les procédures décrites dans Comment : configurer manuellement un projet Entity Framework et Comment : définir manuellement les fichiers de modèle et de mappage.

Cet exemple attache une collection de détachée SalesOrderDetail objets détachés et un SalesOrderHeader de l’objet à un contexte d’objet, puis définit les relations entre les SalesOrderHeader et chaque objet SalesOrderDetail objet.

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);
    }
}

.NET Framework
Disponible depuis 3.5
Retour au début
Afficher: