【发布时间】:2011-02-24 21:01:15
【问题描述】:
我有一个查询如下:
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 子句并将 select 修改为单个字段。
我一直在研究ExpressionVisitor,但我不完全确定如何基于现有查询创建新查询。
任何指导将不胜感激。谢谢你。
【问题讨论】:
标签: entity-framework linq-to-entities expression-trees iqueryable