使用 PredicateBuilder 进行动态排序

Dynamic Sorting with PredicateBuilder

我正在使用 PredicateBuilder 动态构建 LINQ 查询,如下所示。 我可以使用 PredicateBuilder 轻松添加过滤器表达式,但我找不到使用 PredicateBuilder 添加动态排序的方法。例如,在下面的代码中,我想按 orderid 升序排序,但这是以动态方式决定的,事先不知道。

问题:是否可以使用PredicateBuilder进行动态排序,如果可以,那么如何做?我在这个 class 下找不到任何合适的方法。我只能找到 System.Linq.Dynamic 适合动态排序的库。

var predicate = PredicateBuilder.True<Orders>();
predicate = predicate.And (o => o.OrderID > 10995);
var ordersFiltered = (from o in Orders select o).Where(predicate);
ordersFiltered.Dump();

PredicateBuilder 是用来构建谓词的,你不是要构建谓词,所以不,它无法帮助你。