DataLoadOptions.AssociateWith Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Overload
AssociateWith(LambdaExpression) |
Memfilter objek yang diambil untuk hubungan tertentu. |
AssociateWith<T>(Expression<Func<T,Object>>) |
Memfilter objek yang diambil untuk hubungan tertentu. |
AssociateWith(LambdaExpression)
Memfilter objek yang diambil untuk hubungan tertentu.
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)
Parameter
- expression
- LambdaExpression
Mengidentifikasi kueri yang akan digunakan pada bidang atau properti satu-ke-banyak tertentu. Perhatikan hal-hal berikut:
Jika ekspresi tidak dimulai dengan bidang atau properti yang mewakili hubungan satu-ke-banyak, pengecualian akan dilemparkan.
Jika operator selain operator yang valid muncul dalam ekspresi, pengecualian akan dilemparkan. Operator yang valid adalah sebagai berikut:
Di mana
OrderBy
ThenBy
OrderByDescending
ThenByDescending
Ambil
Contoh
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
Keterangan
Dalam contoh berikut, perulangan dalam hanya berulang atas yang Orders
belum dikirim hari ini.
Berlaku untuk
AssociateWith<T>(Expression<Func<T,Object>>)
Memfilter objek yang diambil untuk hubungan tertentu.
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)))
Jenis parameter
- T
Jenis yang dikueri.
Jika jenis tidak dipetakan, pengecualian akan dilemparkan.
Parameter
- expression
- Expression<Func<T,Object>>
Mengidentifikasi kueri yang akan digunakan pada bidang atau properti satu-ke-banyak tertentu. Perhatikan hal-hal berikut:
Jika ekspresi tidak dimulai dengan bidang atau properti yang mewakili hubungan satu-ke-banyak, pengecualian akan dilemparkan.
Jika operator selain operator yang valid muncul dalam ekspresi, pengecualian akan dilemparkan. Operator yang valid adalah sebagai berikut:
Di mana
OrderBy
ThenBy
OrderByDescending
ThenByDescending
Ambil
Contoh
Dalam contoh berikut, perulangan dalam hanya berulang atas yang Orders
belum dikirim hari ini.
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
Keterangan
Untuk informasi tentang cara menghindari siklus, lihat DataLoadOptions.