DataLoadOptions.AssociateWith Method (LambdaExpression)

 

Filters the objects retrieved for a particular relationship.

Namespace:   System.Data.Linq
Assembly:  System.Data.Linq (in System.Data.Linq.dll)

Public Sub AssociateWith (
	expression As LambdaExpression
)

Parameters

expression
Type: System.Linq.Expressions.LambdaExpression

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

In the following example, the inner loop iterates only over those Orders that have not been shipped today.

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

.NET Framework
Available since 3.5
Windows Phone Silverlight
Available since 7.1
Return to top
Show: