views:

86

answers:

0

I have a query as follows:

var query = from x in context.Employees
    where (x.Salary > 0 && x.DeptId == 5) || x.DeptId == 2
    order by x.Surname
    select x;

The above is the original query and returns let's say 1000 employee entities.

I would now like to use the first query to deconstruct it and recreate a new query that would look like this:

var query = from x in context.Employees
    where ((x.Salary > 0 && x.DeptId == 5) || x.DeptId == 2) && (x,i) i % 10 == 0
    order by x.Surname
    select x.Surname;

This query would return 100 surnames.

The syntax is probably incorrect, but what I need to do is attach an additional where clause and modify the select to a single field.

I've been looking into the ExpressionVisitor but I'm not entirely sure how to create a new query based on an existing query.

Any guidance would be appreciated. Thanks you.