Aracılığıyla paylaş


DataLoadOptions.AssociateWith Yöntem

Tanım

Aşırı Yüklemeler

AssociateWith(LambdaExpression)

Belirli bir ilişki için alınan nesneleri filtreler.

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

Belirli bir ilişki için alınan nesneleri filtreler.

AssociateWith(LambdaExpression)

Belirli bir ilişki için alınan nesneleri filtreler.

public:
 void AssociateWith(System::Linq::Expressions::LambdaExpression ^ expression);
public void AssociateWith(System.Linq.Expressions.LambdaExpression expression);
member this.AssociateWith : System.Linq.Expressions.LambdaExpression -> unit
Public Sub AssociateWith (expression As LambdaExpression)

Parametreler

expression
LambdaExpression

Belirli bire çok alanı veya özelliğinde kullanılacak sorguyu tanımlar. Şunlara dikkat edin:

İfade bire çok ilişkisini temsil eden bir alan veya özellik ile başlamıyorsa, bir özel durum oluşturulur.

İfadede geçerli bir işleç dışında bir işleç görüntülenirse, bir özel durum oluşturulur. Geçerli işleçler şunlardır:

Konum

Orderby

Thenby

Orderbydescending

Thenbydescending

Take

Örnekler

Northwnd db = new Northwnd(@"c:\northwnd.mdf");
DataLoadOptions dlo = new DataLoadOptions();
dlo.AssociateWith<Customer>(c => c.Orders.Where(p => p.ShippedDate != DateTime.Today));
db.LoadOptions = dlo;
var custOrderQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach (Customer custObj in custOrderQuery)
{
    Console.WriteLine(custObj.CustomerID);
    foreach (Order ord in custObj.Orders)
    {
        Console.WriteLine("\t {0}",ord.OrderDate);
    }
}
Dim db As New Northwnd("c:\northwnd.mdf")

Dim dlo As DataLoadOptions = New DataLoadOptions()
dlo.AssociateWith(Of Customer)(Function(c As Customer) _
        c.Orders.Where(Function(p) p.ShippedDate <> DateTime.Today))
db.LoadOptions = dlo

Dim custOrderQuery = _
    From cust In db.Customers _
    Where cust.City = "London" _
    Select cust

For Each custObj In custOrderQuery
    Console.WriteLine(custObj.CustomerID)
    For Each ord In custObj.Orders
        Console.WriteLine("{0}{1}", vbTab, ord.OrderDate)
    Next

Next

Açıklamalar

Aşağıdaki örnekte iç döngü yalnızca bugün gönderilmemiş olanlar Orders üzerinde yinelenir.

Şunlara uygulanır

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

Belirli bir ilişki için alınan nesneleri filtreler.

public:
generic <typename T>
 void AssociateWith(System::Linq::Expressions::Expression<Func<T, System::Object ^> ^> ^ expression);
public void AssociateWith<T>(System.Linq.Expressions.Expression<Func<T,object>> expression);
member this.AssociateWith : System.Linq.Expressions.Expression<Func<'T, obj>> -> unit
Public Sub AssociateWith(Of T) (expression As Expression(Of Func(Of T, Object)))

Tür Parametreleri

T

Sorgulanan tür.

Tür eşlenmemişse, bir özel durum oluşturulur.

Parametreler

expression
Expression<Func<T,Object>>

Belirli bire çok alanı veya özelliğinde kullanılacak sorguyu tanımlar. Şunlara dikkat edin:

İfade bire çok ilişkisini temsil eden bir alan veya özellik ile başlamıyorsa, bir özel durum oluşturulur.

İfadede geçerli bir işleç dışında bir işleç görüntülenirse, bir özel durum oluşturulur. Geçerli işleçler şunlardır:

Konum

Orderby

Thenby

Orderbydescending

Thenbydescending

Take

Örnekler

Aşağıdaki örnekte iç döngü yalnızca bugün gönderilmemiş olanlar Orders üzerinde yinelenir.

Northwnd db = new Northwnd(@"c:\northwnd.mdf");
DataLoadOptions dlo = new DataLoadOptions();
dlo.AssociateWith<Customer>(c => c.Orders.Where(p => p.ShippedDate != DateTime.Today));
db.LoadOptions = dlo;
var custOrderQuery =
    from cust in db.Customers
    where cust.City == "London"
    select cust;

foreach (Customer custObj in custOrderQuery)
{
    Console.WriteLine(custObj.CustomerID);
    foreach (Order ord in custObj.Orders)
    {
        Console.WriteLine("\t {0}",ord.OrderDate);
    }
}
Dim db As New Northwnd("c:\northwnd.mdf")

Dim dlo As DataLoadOptions = New DataLoadOptions()
dlo.AssociateWith(Of Customer)(Function(c As Customer) _
        c.Orders.Where(Function(p) p.ShippedDate <> DateTime.Today))
db.LoadOptions = dlo

Dim custOrderQuery = _
    From cust In db.Customers _
    Where cust.City = "London" _
    Select cust

For Each custObj In custOrderQuery
    Console.WriteLine(custObj.CustomerID)
    For Each ord In custObj.Orders
        Console.WriteLine("{0}{1}", vbTab, ord.OrderDate)
    Next

Next

Açıklamalar

Döngüleri önleme hakkında bilgi için bkz DataLoadOptions. .

Şunlara uygulanır