将Linq表达式应用于IQueryable OrderBy

时间:2016-05-08 16:26:01

标签: linq

Linq2Rest使用类型为IQueryable<MyObject>

的KeySelectors生成SortDescriptions

假设我有var keySelector = SortDescription.KeySelector; if(keySelector.Type.Equals(typeof(Func<MyObject, Int64>) { queryable = querable.OrderBy<MyObject, Int64>( keySelector as Expression<<Func<MyObject, Int64>>); } 。 KeySelector可以应用于IQueryable.OrderBy,如下所示:

queryable = queryable.OrderBy(keySelector);

有没有办法动态匹配KeySelector的类型和queryable.OrderBy方法,这样我就不必按类型比较和调用方法?在理想的世界中,我将能够编写以下代码。

Queryable.OrderBy<TSource, TKey>(IQueryable<TSource>, Expression<Func<TSource, TKey>>)

但结果是

  

无法从用法中推断出方法void vectormove(std::vector<int>& a, std::vector<int>& b) { a._M_impl._M_start = b._M_impl._M_start; a._M_impl._M_finish = b._M_impl._M_finish; a._M_impl._M_end_of_storage = b._M_impl._M_end_of_storage; } 的类型参数。尝试显式指定类型参数。

0 个答案:

没有答案