ObjectContext.Detach(Object) Méthode

Définition

Supprime l’objet du contexte de l’objet.

public:
 void Detach(System::Object ^ entity);
public void Detach(object entity);
member this.Detach : obj -> unit
Public Sub Detach (entity As Object)

Paramètres

entity
Object

Objet à détacher. Seul le entity fichier est supprimé ; s’il existe des objets connexes qui sont suivis par le même ObjectStateManager, ceux-ci ne seront pas détachés automatiquement.

Exceptions

entity a la valeur null.

L’objet entity n’est pas associé à ce ObjectContext paramètre (par exemple, a été créé et n’a pas encore été associé à un contexte, ou a été obtenu par le biais d’un autre contexte ou a déjà été détaché).

Exemples

// This method is called to detach SalesOrderHeader objects and
// related SalesOrderDetail objects from the supplied object
// context when no longer needed by the application.
// Once detached, the resources can be garbage collected.
private static void DetachOrders(ObjectContext context,
    SalesOrderHeader order)
{
    try
    {
        // Detach each item from the collection.
        while (order.SalesOrderDetails.Count > 0)
        {
            // Detach the first SalesOrderDetail in the collection.
            context.Detach(order.SalesOrderDetails.First());
        }

        // Detach the order.
        context.Detach(order);
    }
    catch (InvalidOperationException ex)
    {
        Console.WriteLine(ex.ToString());
    }
}

Remarques

Supprime l’objet du ObjectStateManager. Cela désactive le suivi des modifications et la résolution d’identité pour cet objet.

Une fois la Detach méthode appelée, le système ne conserve plus les références qui pointent vers cet objet et peuvent être collectées par le garbage collector.

Note

Le garbage collection ne peut se produire que si le code utilisateur n’a aucune référence à l’objet détaché.

Les considérations suivantes s’appliquent lors du détachement d’objets :

  • Detach affecte uniquement l’objet spécifique passé à la méthode. Si l’objet détaché a des objets connexes dans le contexte de l’objet, ces objets ne sont pas détachés.

  • Le détachement d’objets n’affecte pas les données de la source de données.

  • Les directives de suppression en cascade et les contraintes référentielles ne sont pas appliquées pendant une opération de détachement.

S’applique à

Voir aussi