使用PredicateBuilder进行动态排序

本文关键字:动态 排序 PredicateBuilder 使用 | 更新日期: 2023-09-27 18:21:47

我使用PredicateBuilder动态构建LINQ查询,如下所示。我可以使用PredicateBuilder轻松添加筛选表达式,但找不到使用PredicateBuilder添加动态排序的方法。例如,在下面的代码中,我希望按orderid升序进行排序,但这是以动态方式决定的,目前还不知道。

问题:是否可以使用PredicateBuilder进行动态排序?如果可以,如何进行?我在这个类下找不到任何合适的方法。我只能找到适合动态排序的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进行动态排序

PredicateBuilder是用来构建谓词的,而您并没有试图构建谓词,所以不,它对您没有帮助。