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. Para más información, consulte Adjuntar y desasociar objetos.

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.

Note

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.

Para más información, consulte Adjuntar y desasociar objetos.

Se aplica a

Consulte también