У меня следующий запрос:
var query = from x in context.Employees
where (x.Salary > 0 && x.DeptId == 5) || x.DeptId == 2
order by x.Surname
select x;
Выше приведен исходный запрос, который возвращает, скажем, 1000 сотрудников.
Теперь я хотел бы использовать первый запрос для его деконструкции и воссоздать новый запрос, который будет выглядеть следующим образом:
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;
Этот запрос вернул бы 100 фамилий.
Синтаксис, вероятно, неверен, но мне нужно добавить дополнительный оператор where и изменить выделение в одном поле.
Я искал ExpressionVisitor , но я не совсем уверен, как создать новый запрос на основе существующего запроса.
Любое руководство будет оценено. Спасибо тебе.