DataLoadOptions.LoadWith Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Überlädt
LoadWith(LambdaExpression) |
Ruft die angegebenen Daten mit Bezug auf das Hauptziel mit einem Lambda-Ausdruck ab. |
LoadWith<T>(Expression<Func<T,Object>>) |
Gibt an, welche Unterobjekte abgerufen werden sollen, wenn eine Abfrage für ein Objekt vom Typ T gesendet wird. |
LoadWith(LambdaExpression)
Ruft die angegebenen Daten mit Bezug auf das Hauptziel mit einem Lambda-Ausdruck ab.
public:
void LoadWith(System::Linq::Expressions::LambdaExpression ^ expression);
public void LoadWith (System.Linq.Expressions.LambdaExpression expression);
member this.LoadWith : System.Linq.Expressions.LambdaExpression -> unit
Public Sub LoadWith (expression As LambdaExpression)
Parameter
- expression
- LambdaExpression
Ein Lambdaausdruck, der das verwandte Material identifiziert.
Beispiele
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Customer>(c => c.Orders);
db.LoadOptions = dlo;
var londonCustomers =
from cust in db.Customers
where cust.City == "London"
select cust;
foreach (var custObj in londonCustomers)
{
Console.WriteLine(custObj.CustomerID);
}
Dim db As New Northwnd("c:\northwnd.mdf")
Dim dlo As DataLoadOptions = New DataLoadOptions()
dlo.LoadWith(Of Customer)(Function(c As Customer) c.Orders)
db.LoadOptions = dlo
Dim londonCustomers = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust
For Each custObj In londonCustomers
Console.WriteLine(custObj.CustomerID)
Next
Hinweise
Im folgenden Beispiel werden alle Orders
(Bestellungen) für alle Customers
(Kunden) in London abgerufen, wenn die Abfrage ausgeführt wird. Aufgrund dessen wird bei nachfolgenden Zugriffen auf die Orders
-Eigenschaft für ein Customer
-Objekt keine neue Datenbankabfrage ausgelöst.
Gilt für:
LoadWith<T>(Expression<Func<T,Object>>)
Gibt an, welche Unterobjekte abgerufen werden sollen, wenn eine Abfrage für ein Objekt vom Typ T gesendet wird.
public:
generic <typename T>
void LoadWith(System::Linq::Expressions::Expression<Func<T, System::Object ^> ^> ^ expression);
public void LoadWith<T> (System.Linq.Expressions.Expression<Func<T,object>> expression);
member this.LoadWith : System.Linq.Expressions.Expression<Func<'T, obj>> -> unit
Public Sub LoadWith(Of T) (expression As Expression(Of Func(Of T, Object)))
Typparameter
- T
Der Typ, für den die Abfrage durchgeführt wird.
Wenn der Typ nicht zugeordnet ist, wird eine Ausnahme ausgelöst.
Parameter
- expression
- Expression<Func<T,Object>>
Identifiziert das Feld oder die Eigenschaft, die abgerufen werden sollen.
Wenn der Ausdruck kein Feld oder keine Eigenschaft identifiziert, die eine 1:1 oder eine 1:n-Beziehung darstellen, wird eine Ausnahme ausgelöst.
Beispiele
Im folgenden Beispiel werden alle Orders
(Bestellungen) für alle Customers
(Kunden) in London abgerufen, wenn die Abfrage ausgeführt wird. Aufgrund dessen wird bei nachfolgenden Zugriffen auf die Orders
-Eigenschaft für ein Customer
-Objekt keine neue Datenbankabfrage ausgelöst.
Northwnd db = new Northwnd(@"c:\northwnd.mdf");
DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Customer>(c => c.Orders);
db.LoadOptions = dlo;
var londonCustomers =
from cust in db.Customers
where cust.City == "London"
select cust;
foreach (var custObj in londonCustomers)
{
Console.WriteLine(custObj.CustomerID);
}
Dim db As New Northwnd("c:\northwnd.mdf")
Dim dlo As DataLoadOptions = New DataLoadOptions()
dlo.LoadWith(Of Customer)(Function(c As Customer) c.Orders)
db.LoadOptions = dlo
Dim londonCustomers = _
From cust In db.Customers _
Where cust.City = "London" _
Select cust
For Each custObj In londonCustomers
Console.WriteLine(custObj.CustomerID)
Next
Hinweise
Sie können das Laden von zwei Beziehungsebenen (z. B Orders.OrderDetails
. ) nicht angeben. In diesen Szenarien müssen Sie zwei separate LoadWith Methoden angeben.
Informationen zum Vermeiden des Radfahrens finden Sie im Abschnitt "Hinweise" in DataLoadOptions.