DataLoadOptions.AssociateWith<T> Method (Expression<Func<T, Object>>)
.NET Framework (current version)
Filters objects retrieved for a particular relationship.
Assembly: System.Data.Linq (in System.Data.Linq.dll)
Parameters
- expression
-
Type:
System.Linq.Expressions.Expression<Func<T, Object>>
Identifies the query to be used on a particular one-to-many field or property. Note the following:
If the expression does not start with a field or property that represents a one-to-many relationship, an exception is thrown.
If an operator other than a valid operator appears in the expression, an exception is thrown. Valid operators are as follows:
Where
OrderBy
ThenBy
OrderByDescending
ThenByDescending
Take
Type Parameters
- T
The type that is queried against.
If the type is unmapped, an exception is thrown.
For information about how to avoid cycles, see DataLoadOptions.
In the following example, the inner loop iterates only over those Orders that have not been shipped today.
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); } }
.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1
Available since 3.5
Windows Phone Silverlight
Available since 7.1
Show: