我有一个通用方法,我在其中使用 Linq-to-EntitiesIQueryable<T>
并返回一个。IOrderedQuerable<T>
一个简单的input.OrderBy(p => p.something)
行不通,因为我不知道它的任何属性T
(而且我不能将它限制在一个接口上)。
将结果转换为 ( IOrderedQuerable<T>
) 似乎有效,直到您尝试将其与.Skip()
or一起实际使用.Take()
,此时您会收到运行时错误。
我想我理论上可以使用反射,看看我是否找到一个int
或什么东西并构建一个表达式用作排序,但这似乎很脏。
有任何想法吗?