DataLoadOptions.AssociateWith Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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. .