Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Object Services consente di disconnettere oggetti dal contesto di un oggetto quando non sono più necessari. A tale scopo, chiamare il metodo Detach. Questa operazione consente di ridurre la quantità di memoria utilizzata.
I vantaggi della disconnessione di oggetti devono essere valutati rispetto ai requisiti aggiuntivi di elaborazione necessari per eseguire l'operazione. Per ulteriori informazioni, vedere Disconnessione di oggetti (Entity Framework).
L'esempio incluso in questo argomento è basato sul modello Sales di AdventureWorks. Per eseguire il codice incluso in questo esempio, è necessario avere già aggiunto il modello Sales di AdventureWorks al progetto e avere configurato il progetto per l'utilizzo di Entity Framework. A tale scopo, completare le procedure descritte in Procedura: configurare manualmente un progetto di Entity Framework e Procedura: definire manualmente un modello EDM (Entity Framework).
Esempio
In questo esempio viene illustrato come scollegare gli oggetti SalesOrderDetail e SalesOrderHeader da un oggetto ObjectContext quando non sono più necessari per l'applicazione.
' 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 Shared Sub DetachOrders(ByVal context As ObjectContext, _
ByVal order As SalesOrderHeader)
Try
' Detach each item from the collection.
While order.SalesOrderDetail.Count > 0
' Detach the first SalesOrderDetail in the collection.
context.Detach(order.SalesOrderDetail.First())
End While
' Detach the order.
context.Detach(order)
Catch ex As InvalidOperationException
Console.WriteLine(ex.ToString())
End Try
End Sub
// 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.SalesOrderDetail.Count > 0)
{
// Detach the first SalesOrderDetail in the collection.
context.Detach(order.SalesOrderDetail.First());
}
// Detach the order.
context.Detach(order);
}
catch (InvalidOperationException ex)
{
Console.WriteLine(ex.ToString());
}
}
Vedere anche
Concetti
Gestione di risorse in Object Services (Entity Framework)
Altre risorse
Gestione del contesto dell'oggetto (Entity Framework)
Utilizzo di oggetti (attività di Entity Framework)