DataLoadOptions.LoadWith Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Surcharges
| Nom | Description |
|---|---|
| LoadWith(LambdaExpression) |
Récupère les données spécifiées liées à la cible principale à l’aide d’une expression lambda. |
| LoadWith<T>(Expression<Func<T,Object>>) |
Spécifie les sous-objets à récupérer lorsqu’une requête est envoyée pour un objet de type T. |
LoadWith(LambdaExpression)
Récupère les données spécifiées liées à la cible principale à l’aide d’une expression lambda.
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)
Paramètres
- expression
- LambdaExpression
Expression lambda qui identifie le matériau associé.
Exemples
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
Remarques
Dans l’exemple suivant, toutes les OrdersCustomers personnes situées à Londres sont récupérées lorsque la requête est exécutée. Par conséquent, l’accès successif à la Orders propriété sur un Customer objet ne déclenche pas de nouvelle requête de base de données.
S’applique à
LoadWith<T>(Expression<Func<T,Object>>)
Spécifie les sous-objets à récupérer lorsqu’une requête est envoyée pour un objet de 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)))
Paramètres de type
- T
Type interrogé par rapport à.
Si ce type n’est pas mappé, une exception est levée.
Paramètres
- expression
- Expression<Func<T,Object>>
Identifie le champ ou la propriété à récupérer.
Si l’expression n’identifie pas de champ ou de propriété qui représente une relation un-à-un ou un-à-plusieurs, une exception est levée.
Exemples
Dans l’exemple suivant, toutes les OrdersCustomers personnes situées à Londres sont récupérées lorsque la requête est exécutée. Par conséquent, l’accès successif à la Orders propriété sur un Customer objet ne déclenche pas de nouvelle requête de base de données.
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
Remarques
Vous ne pouvez pas spécifier le chargement de deux niveaux de relations (par exemple, Orders.OrderDetails). Dans ces scénarios, vous devez spécifier deux méthodes distinctes LoadWith .
Pour éviter le cyclisme, consultez la section Remarques dans DataLoadOptions.