我有一个IEnumerable
用于多个排序顺序规范,其中:
public class Specification
{
public string Column { get; set; }
public OrderByDirection Direction { get; set; }
public int Priority { get; set; }
}
然后我有另一个IQueryable
,我希望根据给定的IEnumerable进行懒惰排序,尊重方向和优先级。这样做的最佳方法是什么?那里有没有图书馆目前这样做?有人可以解释如何通过动态查询(表达式树)来处理这样的事情吗?
注意:假设指定的列确实存在于IQueryable
。
答案 0 :(得分:0)
使用Linq; 我会根据他们的优先级创建列表,然后按照优先级列表的方式对它们进行排序,以便稍后将它们全部添加到一个列表中
列表l = [ArrayObject / List] .OrderBy(o => o.Priority ==(int)p);