【发布时间】:2019-03-26 07:16:07
【问题描述】:
我有一个通用方法,我想通过它的关键字段对IQueryable<T> 进行排序(假设只有一个是安全的)。因此:
void DoStuff<T>(...)
{
IQueryable<T> queryable = ... // given
PropertyInfo keyField = ... // given
var sortedQueryable = queryable.OrderBy(<some expression here>);
...
}
如何定义一个Expression 来返回T 的keyField 属性,这样才能正常工作?
【问题讨论】:
-
@Fabjan 当然可以使用表达式。
-
@DavidG 这里的问题不是表达式本身,而是试图将其转换为
SQL的引擎,例如Linq To SQL或其他 -
@Fabjan 我知道,我是说可以构建一个表达式来做到这一点 - 我自己已经做过不止一次了。
-
@DavidG 如果你知道确切地怎么做,那么你最好为这个问题写一个好的答案
-
@Fabjan 好的,完成。
标签: c# linq linq-expressions