Vorgehensweise: Ausschalten von verzögertem Laden (LINQ to SQL)
Sie können verzögertes Laden ausschalten, indem Sie DeferredLoadingEnabled auf false festlegen. Weitere Informationen finden Sie unter Verzögertes und unmittelbares Laden (LINQ to SQL).
Hinweis |
---|
Verzögertes Laden wird ausgeschaltet, wenn die Objektverfolgung ausgeschaltet wird.Weitere Informationen finden Sie unter Vorgehensweise: Abrufen von Informationen als schreibgeschützt (LINQ to SQL). |
Beispiel
Im folgenden Beispiel wird gezeigt, wie verzögertes Laden durch Festlegen von DeferredLoadingEnabled auf false ausgeschaltet wird.
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);
}
}
}