Compartir a través de


Cómo: Desactivar la carga aplazada (LINQ to SQL)

Actualización: November 2007

Puede desactivar la carga aplazada al establecer DeferredLoadingEnabled en false. Para obtener más información, vea Comparación entre carga aplazada y carga inmediata (LINQ to SQL).

Nota:

La carga aplazada se desactiva al desactivar el seguimiento de los objetos. Para obtener más información, vea Cómo: Recuperar información como de sólo lectura (LINQ to SQL).

Ejemplo

En el ejemplo siguiente se muestra cómo desactivar la carga aplazada al establecer DeferredLoadingEnabled en false.

Dim db As New Northwnd("c:\northwnd.mdf")

db.DeferredLoadingEnabled = False

Dim ds As New DataLoadOptions()
ds.LoadWith(Function(c As Customer) c.Orders)
ds.LoadWith(Of Order)(Function(o) o.OrderDetails)
db.LoadOptions = ds

Dim custQuery = From cust In db.Customers _
    Where cust.City = "London" _
    Select cust

For Each custObj In custQuery
    Console.WriteLine("Customer ID: {0}", custObj.CustomerID)
    For Each ord In custObj.Orders
        Console.WriteLine(vbTab & "Order ID: {0}", ord.OrderID)
        For Each detail In ord.OrderDetails
            Console.WriteLine(vbTab & vbTab & "Product ID: {0}", _
                detail.ProductID)
        Next
    Next
Next
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
db.DeferredLoadingEnabled = false;

DataLoadOptions ds = new DataLoadOptions();
ds.LoadWith<Customer>(c => c.Orders);
ds.LoadWith<Order>(o => o.OrderDetails);
db.LoadOptions = ds;

var custQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach (Customer custObj in custQuery)
{
    Console.WriteLine("Customer ID: {0}", custObj.CustomerID);
    foreach (Order ord in custObj.Orders)
    {
        Console.WriteLine("\tOrder ID: {0}", ord.OrderID);
        foreach (OrderDetail detail in ord.OrderDetails)
        {
            Console.WriteLine("\t\tProduct ID: {0}", detail.ProductID);
        }
    }
}

Vea también

Otros recursos

Conceptos de consulta en LINQ to SQL

Realizar consultas en la base de datos (LINQ to SQL)