Search code examples
.netlinqchaininglinq-to-dataset

Chaining databound LINQ queries in LINQ to DataSet


I am trying to perform a query on a query result, but I am getting an error: “The method or operation is not implemented”. Can I chain queries in this way? For example, I have a Northwind typed DataSet. I do:

  queryResult = From product In NorthWindDataSet.Products
                      Where (product.UnitsOnOrder > CInt(txtUnitsOnOrderFilter.Text))
                      Select product

Then I try to do

queryResult = From product In queryResult
                Where (product.CategoryID = cboCategoryFilter.SelectedValue)
                Select product

To finally use result of a query as a binding source: ProductsBindingSource.DataSource = queryResult.AsDataView()

How can I accomplish this?


Solution

  • LINQ to SQL is probably complaining about the CInt and SelectedValue calls in your queries. Try capturing those values outside your query instead:

    Dim units = CInt(txtUnitsOnOrderFilter.Text)
    Dim catId = cboCategoryFilter.SelectedValue
    
    queryResult = From product In NorthWindDataSet.Products
                  Where (product.UnitsOnOrder > units) AndAlso (product.CategoryID = catId)
                  Select product