DataLoadOptions.AssociateWith Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Överlagringar
| Name | Description |
|---|---|
| AssociateWith(LambdaExpression) |
Filtrerar objekten som hämtats för en viss relation. |
| AssociateWith<T>(Expression<Func<T,Object>>) |
Filtrerar objekt som hämtats för en viss relation. |
AssociateWith(LambdaExpression)
Filtrerar objekten som hämtats för en viss relation.
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)
Parametrar
- expression
- LambdaExpression
Identifierar frågan som ska användas i ett visst en-till-många-fält eller en viss egenskap. Notera följande:
Om uttrycket inte börjar med ett fält eller en egenskap som representerar en en-till-många-relation genereras ett undantag.
Om en annan operator än en giltig operator visas i uttrycket utlöses ett undantag. Giltiga operatorer är följande:
Where
OrderBy
ThenBy
SorteraFallande
SedanUrordningAvtagande
Ta
Exempel
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
Kommentarer
I följande exempel itererar den inre loopen endast över de Orders som inte har levererats idag.
Gäller för
AssociateWith<T>(Expression<Func<T,Object>>)
Filtrerar objekt som hämtats för en viss relation.
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)))
Typparametrar
- T
Den typ som efterfrågas mot.
Om typen är avmappad utlöses ett undantag.
Parametrar
- expression
- Expression<Func<T,Object>>
Identifierar frågan som ska användas i ett visst en-till-många-fält eller en viss egenskap. Notera följande:
Om uttrycket inte börjar med ett fält eller en egenskap som representerar en en-till-många-relation genereras ett undantag.
Om en annan operator än en giltig operator visas i uttrycket utlöses ett undantag. Giltiga operatorer är följande:
Where
OrderBy
ThenBy
SorteraFallande
SedanUrordningAvtagande
Ta
Exempel
I följande exempel itererar den inre loopen endast över de Orders som inte har levererats idag.
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
Kommentarer
Information om hur du undviker cykler finns i DataLoadOptions.