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