具有以下存储变量的变量IQueryable
:
var mainQuery = session
.Query<Employee>()
.Select(e => new
{
e.Name,
e.Address
});
以及一个将 IQueryable 作为参数的方法。
public DataTable GetData(IQueryable query)
{
...
}
我怎样才能在里面写代码GetData()
,OrderBy()
在Select()
?
的最终值query
应该看起来像是使用以下 Linq 表达式构建的:
var query = session
.Query<Employee>()
.OrderBy(e => e.Age)
.Select(e => new
{
e.Name,
e.Address
});
这是必需的,因为如果我添加OrderBy()
之后,Select()
我将只能按匿名类型的成员(姓名、地址)进行排序。OrderBy()
如果员工也有和年龄,我在放置后无法排序Select()
。谢谢你的帮助!
更新:
GetData
不知道查询的结构,只是它以 . 结尾Select
。而且它必须具有准确的签名public DataTable GetData(IQueryable query)
——没有额外的参数。
它需要什么来修改方法内的现有查询并OrderBy
在Select
.
当有正确答案时,我将接受并投票。