ObjectContext.Detach(Object) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 entity
null
.
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.