ObjectContext.Detach(Object) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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.