DataLoadOptions.LoadWith Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Overloads
| Name | Description |
|---|---|
| LoadWith(LambdaExpression) |
Hiermee worden opgegeven gegevens opgehaald die betrekking hebben op het hoofddoel met behulp van een lambda-expressie. |
| LoadWith<T>(Expression<Func<T,Object>>) |
Hiermee geeft u op welke subobjecten moeten worden opgehaald wanneer een query wordt verzonden voor een object van het type T. |
LoadWith(LambdaExpression)
Hiermee worden opgegeven gegevens opgehaald die betrekking hebben op het hoofddoel met behulp van een lambda-expressie.
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)
Parameters
- expression
- LambdaExpression
Een lambda-expressie die het gerelateerde materiaal identificeert.
Voorbeelden
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
Opmerkingen
In het volgende voorbeeld worden alle Orders items die Customers zich in Londen bevinden, opgehaald wanneer de query wordt uitgevoerd. Als gevolg hiervan activeert opeenvolgende toegang tot de Orders eigenschap op een Customer object geen nieuwe databasequery.
Van toepassing op
LoadWith<T>(Expression<Func<T,Object>>)
Hiermee geeft u op welke subobjecten moeten worden opgehaald wanneer een query wordt verzonden voor een object van het type T.
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)))
Type parameters
- T
Type waarop een query wordt uitgevoerd.
Als dit type niet is toegewezen, wordt er een uitzondering gegenereerd.
Parameters
- expression
- Expression<Func<T,Object>>
Identificeert het veld of de eigenschap die moet worden opgehaald.
Als de expressie geen veld of eigenschap identificeert die een een-op-een- of een-op-veel-relatie vertegenwoordigt, wordt er een uitzondering gegenereerd.
Voorbeelden
In het volgende voorbeeld worden alle Orders items die Customers zich in Londen bevinden, opgehaald wanneer de query wordt uitgevoerd. Als gevolg hiervan activeert opeenvolgende toegang tot de Orders eigenschap op een Customer object geen nieuwe databasequery.
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
Opmerkingen
U kunt het laden van twee niveaus van relaties (bijvoorbeeld Orders.OrderDetails) niet opgeven. In deze scenario's moet u twee afzonderlijke LoadWith methoden opgeven.
Zie de sectie Opmerkingen in DataLoadOptions.