ObjectContext.Detach(Object) Método

Definición

Quita el objeto del contexto del objeto.

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

Parámetros

entity
Object

Objeto que se va a desasociar. Solo se quita el entity objeto ; si hay objetos relacionados a los que realiza el seguimiento el mismo ObjectStateManager, estos no se desasociarán automáticamente.

Excepciones

El entity es null.

no entity está asociado a esto ObjectContext (por ejemplo, se creó recientemente y no se ha asociado con ningún contexto aún, o se obtuvo a través de algún otro contexto o ya se desasociado).

Ejemplos

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

Comentarios

Quita el objeto de .ObjectStateManager Esto deshabilita el seguimiento de cambios y la resolución de identidades de ese objeto.

Después de llamar al Detach método , el sistema ya no mantendrá las referencias que apuntan a este objeto y el recolector de elementos no utilizados puede recopilarlo.

Nota:

La recolección de elementos no utilizados solo puede producirse si el código de usuario no tiene referencias al objeto desasociado.

Se aplican las siguientes consideraciones al desasociar objetos:

  • Detach solo afecta al objeto específico que se pasa al método . Si el objeto que se desasocia tiene objetos relacionados en el contexto del objeto, esos objetos no se desasocian.

  • La desasociación de objetos no afecta a los datos del origen de datos.

  • Las directivas de eliminación en cascada y las restricciones referenciales no se aplican durante una operación de desasociación.

Se aplica a

Consulte también