Aracılığıyla paylaş


DataLoadOptions.LoadWith Yöntem

Tanım

Aşırı Yüklemeler

LoadWith(LambdaExpression)

Lambda ifadesi kullanarak ana hedefle ilgili belirtilen verileri alır.

LoadWith<T>(Expression<Func<T,Object>>)

T türündeki bir nesne için sorgu gönderildiğinde alınacak alt nesneleri belirtir.

LoadWith(LambdaExpression)

Lambda ifadesi kullanarak ana hedefle ilgili belirtilen verileri alır.

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)

Parametreler

expression
LambdaExpression

İlgili malzemeyi tanımlayan bir lambda ifadesi.

Örnekler

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

Açıklamalar

Aşağıdaki örnekte, Orders sorgu yürütülürken Londra'da bulunan tüm Customers kişilerin tümü alınır. Sonuç olarak, bir Customer nesnedeki Orders özelliğe ardışık erişim yeni bir veritabanı sorgusunu tetiklemez.

Şunlara uygulanır

LoadWith<T>(Expression<Func<T,Object>>)

T türündeki bir nesne için sorgu gönderildiğinde alınacak alt nesneleri belirtir.

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)))

Tür Parametreleri

T

Sorgulanan tür.

Bu tür eşlenmemişse bir özel durum oluşturulur.

Parametreler

expression
Expression<Func<T,Object>>

Alınacak alanı veya özelliği tanımlar.

İfade bire bir veya bire çok ilişkisini temsil eden bir alanı veya özelliği tanımlamıyorsa, bir özel durum oluşturulur.

Örnekler

Aşağıdaki örnekte, Orders sorgu yürütülürken Londra'da bulunan tüm Customers kişilerin tümü alınır. Sonuç olarak, bir Customer nesnedeki Orders özelliğe ardışık erişim yeni bir veritabanı sorgusunu tetiklemez.

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

Açıklamalar

İki ilişki düzeyinin yüklenmesini belirtemezsiniz (örneğin, Orders.OrderDetails). Bu senaryolarda iki ayrı LoadWith yöntem belirtmeniz gerekir.

Bisiklete binmemek için içindeki Açıklamalar bölümüne DataLoadOptionsbakın.

Şunlara uygulanır