ObjectContext.Detach(Object) Metode

Definisi

Menghapus objek dari konteks objek.

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

Parameter

entity
Object

Objek yang akan dilepaskan. entity Hanya yang dihapus; jika ada objek terkait yang sedang dilacak oleh yang sama ObjectStateManager, objek tersebut tidak akan dilepaskan secara otomatis.

Pengecualian

entity adalah null.

entity tidak terkait dengan ini ObjectContext (misalnya, baru dibuat dan belum dikaitkan dengan konteks apa pun, atau diperoleh melalui beberapa konteks lain, atau sudah dilepas).

Contoh

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

Keterangan

Menghapus objek dari ObjectStateManager. Ini menonaktifkan pelacakan perubahan dan resolusi identitas untuk objek tersebut.

Detach Setelah metode dipanggil, sistem tidak akan lagi menyimpan referensi yang menunjuk ke objek ini dan dapat dikumpulkan oleh pengumpul sampah.

Nota

Pengumpulan sampah hanya dapat terjadi jika kode pengguna tidak memiliki referensi ke objek yang dilepaskan.

Pertimbangan berikut berlaku saat melepaskan objek:

  • Detach hanya memengaruhi objek tertentu yang diteruskan ke metode . Jika objek yang dilepas memiliki objek terkait dalam konteks objek, objek tersebut tidak dilepaskan.

  • Mencopot objek tidak memengaruhi data di sumber data.

  • Arahan penghapusan bertingkat dan batasan referensial tidak diberlakukan selama operasi lepaskan.

Berlaku untuk

Lihat juga