ObjectContext.Detach(Object) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.