Bagikan melalui


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 dilepas. entity Hanya yang dihapus; jika ada objek terkait yang sedang dilacak oleh yang sama ObjectStateManager, objek tersebut tidak akan dilepas 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. Untuk informasi selengkapnya, lihat Melampirkan dan Melepaskan Objek.

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

Catatan

Pengumpulan sampah hanya dapat terjadi jika kode pengguna tidak memiliki referensi apa pun ke objek yang dilepas.

Pertimbangan berikut berlaku saat melepaskan objek:

  • Detach hanya mempengaruhi objek tertentu yang diteruskan ke metode . Jika objek yang dicopot 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.

Untuk informasi selengkapnya, lihat Melampirkan dan Melepaskan Objek.

Berlaku untuk

Lihat juga