ObjectContext.Detach(Object) Metod

Definition

Tar bort objektet från objektkontexten.

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

Parametrar

entity
Object

Objekt som ska kopplas från. entity Endast tas bort. Om det finns några relaterade objekt som spåras av samma ObjectStateManagerkommer de inte att kopplas från automatiskt.

Undantag

entity är null.

entity Är inte associerad med detta ObjectContext (till exempel skapades nyligen och är inte associerat med någon kontext ännu, eller erhölls via någon annan kontext eller var redan frånkopplad).

Exempel

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

Kommentarer

Tar bort objektet från ObjectStateManager. Detta inaktiverar ändringsspårning och identitetsmatchning för objektet. Mer information finns i Koppla till och koppla från objekt.

Detach När metoden har anropats behåller systemet inte längre referenser som pekar på det här objektet och kan samlas in av skräpinsamlaren.

Note

Skräpinsamling kan bara inträffa om användarkoden inte har några referenser till det frånkopplade objektet.

Följande överväganden gäller när objekt kopplas från:

  • Detach påverkar bara det specifika objekt som skickas till metoden. Om objektet som kopplas från har relaterade objekt i objektkontexten kopplas inte dessa objekt från.

  • Att koppla från objekt påverkar inte data i datakällan.

  • Kaskadborttagningsdirektiv och referensbegränsningar tillämpas inte under en frånkopplingsåtgärd.

Mer information finns i Koppla till och koppla från objekt.

Gäller för

Se även