DataLoadOptions.LoadWith Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
LoadWith(LambdaExpression) |
Recupera i dati specificati correlati alla destinazione principale utilizzando un'espressione lambda. |
LoadWith<T>(Expression<Func<T,Object>>) |
Specifica gli oggetti secondari da recuperare quando viene inviata una query per un oggetto di tipo T. |
LoadWith(LambdaExpression)
Recupera i dati specificati correlati alla destinazione principale utilizzando un'espressione 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)
Parametri
- expression
- LambdaExpression
Espressione lambda che identifica il materiale correlato.
Esempio
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
Commenti
Nell'esempio seguente tutti gli oggetti Orders
di tutti gli oggetti Customers
residenti nell'area londinese vengono recuperati quando viene eseguita la query. Di conseguenza, l'accesso successivo alla proprietà Orders
su un oggetto Customer
non avvia una nuova query di database.
Si applica a
LoadWith<T>(Expression<Func<T,Object>>)
Specifica gli oggetti secondari da recuperare quando viene inviata una query per un oggetto di tipo 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)))
Parametri di tipo
- T
Tipo sul quale viene eseguita la query.
Se il tipo non è mappato, viene generata un'eccezione.
Parametri
- expression
- Expression<Func<T,Object>>
Identifica il campo o la proprietà da recuperare.
Se l'espressione non identifica un campo o una proprietà che rappresenta una relazione uno-a-uno o uno-a-molti, viene generata un'eccezione.
Esempio
Nell'esempio seguente tutti gli oggetti Orders
di tutti gli oggetti Customers
residenti nell'area londinese vengono recuperati quando viene eseguita la query. Di conseguenza, l'accesso successivo alla proprietà Orders
su un oggetto Customer
non avvia una nuova query di database.
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
Commenti
Non è possibile specificare il caricamento di due livelli di relazioni, ad esempio Orders.OrderDetails
. In questi scenari è necessario specificare due metodi separati LoadWith .
Per evitare il ciclo, vedere La sezione Osservazioni in DataLoadOptions.