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
LoadWith(LambdaExpression) |
Récupère des données spécifiées associées à la cible principale à l'aide d'une expression lambda. |
LoadWith<T>(Expression<Func<T,Object>>) |
Spécifie quels sont les sous-objets à récupérer lorsqu'une requête est soumise pour un objet de type T. |
LoadWith(LambdaExpression)
Récupère des données spécifiées associé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 identifiant les éléments associés.
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 Orders
de tous les Customers
dont la ville est London sont récupérés une fois la requête exécutée. En conséquence, le fait d'accéder par la suite à la propriété Orders
sur un objet Customer
ne déclenche pas de nouvelle requête de la base de données.
S’applique à
LoadWith<T>(Expression<Func<T,Object>>)
Spécifie quels sont les sous-objets à récupérer lorsqu'une requête est soumise 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 sur lequel est envoyée la requête.
Si ce type est non 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 un champ ou une propriété qui représente une relation un-à-un ou un-à-plusieurs, une exception est levée.
Exemples
Dans l'exemple suivant, toutes les Orders
de tous les Customers
dont la ville est London sont récupérés une fois la requête exécutée. En conséquence, le fait d'accéder par la suite à la propriété Orders
sur un objet Customer
ne déclenche pas de nouvelle requête de la 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.