DataLoadOptions.LoadWith Methode

Definition

Überlädt

Name Beschreibung
LoadWith(LambdaExpression)

Ruft angegebene Daten im Zusammenhang mit dem Hauptziel mithilfe eines Lambda-Ausdrucks 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 angegebene Daten im Zusammenhang mit dem Hauptziel mithilfe eines Lambda-Ausdrucks 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 Lambda-Ausdruck, der das zugehörige 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 personen, die Customers sich in London befinden, abgerufen, wenn die Abfrage ausgeführt wird. Folglich löst der aufeinander folgende Zugriff auf die Orders Eigenschaft für ein Customer Objekt keine neue Datenbankabfrage aus.

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

Typ, der abgefragt wird.

Wenn dieser Typ nicht zugeordnet ist, wird eine Ausnahme ausgelöst.

Parameter

expression
Expression<Func<T,Object>>

Gibt das abzurufende Feld oder die Eigenschaft an.

Wenn der Ausdruck kein Feld oder eine Eigenschaft identifiziert, das eine 1:1- oder 1:n-Beziehung darstellt, wird eine Ausnahme ausgelöst.

Beispiele

Im folgenden Beispiel werden alle Orders personen, die Customers sich in London befinden, abgerufen, wenn die Abfrage ausgeführt wird. Folglich löst der aufeinander folgende Zugriff auf die Orders Eigenschaft für ein Customer Objekt keine neue Datenbankabfrage aus.

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 Beziehungensebenen (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.

Gilt für: