ObjectContext.Detach(Object) Yöntem

Tanım

Nesneyi nesne bağlamından kaldırır.

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

Parametreler

entity
Object

Ayrılacak nesne. Yalnızca öğesi entity kaldırılır; aynı ObjectStateManagertarafından izlenen ilgili nesneler varsa, bunlar otomatik olarak ayrılmaz.

Özel durumlar

şeklindedir entitynull.

entity bununla ObjectContext ilişkilendirilmemiştir (örneğin, yeni oluşturulmuştur ve henüz herhangi bir bağlamla ilişkilendirilmemiştir veya başka bir bağlam aracılığıyla elde edilmiş veya zaten ayrılmıştır).

Örnekler

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

Açıklamalar

nesnesini öğesinden ObjectStateManagerkaldırır. Bu, söz konusu nesne için değişiklik izlemeyi ve kimlik çözümlemesini devre dışı bırakır. Daha fazla bilgi için bkz. Nesneleri Ekleme ve Ayırma.

Detach Yöntemi çağrıldıktan sonra sistem artık bu nesneye işaret eden başvuruları tutmaz ve atık toplayıcı tarafından toplanabilir.

Not

Çöp toplama yalnızca kullanıcı kodunun ayrılmış nesneye herhangi bir başvurusu yoksa oluşabilir.

Nesneleri ayırırken aşağıdaki noktalar geçerlidir:

  • Detach yalnızca yöntemine geçirilen belirli nesneyi etkiler. Ayrılan nesnenin nesne bağlamında ilgili nesneleri varsa, bu nesneler ayrılmaz.

  • Nesnelerin ayrılması veri kaynağındaki verileri etkilemez.

  • Ayırma işlemi sırasında art arda silme yönergeleri ve bilgi kısıtlamaları uygulanmaz.

Daha fazla bilgi için bkz. Nesneleri Ekleme ve Ayırma.

Şunlara uygulanır

Ayrıca bkz.