c# – 具有动态排序的LINQ查询

我有一个查询,我需要有一个基于querystring参数的ordeby.例如,如果sortby参数是price,Query需要随价格变化.如果其评级比改变查询按评级排序.

我知道PredicateBuilder可以做和OR的东西,但是如何做一个动态的ordeby linq查询.

解决方法

那么你可以使用switch语句或类似的东西:
IQueryable<Foo> query = ...;

switch (orderByParameter)
{
    case "price":
        query = query.OrderBy(x => x.Price);
        break;
    case "rating":
        query = query.OrderBy(x => x.rating);
        break;
    // etc
}

你也可以用反思来做,但假设你有一定数量的字段来排序,这可能是最简单的方法.

相关文章

在要实现单例模式的类当中添加如下代码:实例化的时候:frmC...
1、如果制作圆角窗体,窗体先继承DOTNETBAR的:public parti...
根据网上资料,自己很粗略的实现了一个winform搜索提示,但是...
近期在做DSOFramer这个控件,打算自己弄一个自定义控件来封装...
今天玩了一把WMI,查询了一下电脑的硬件信息,感觉很多代码都...
最近在研究WinWordControl这个控件,因为上级要求在系统里,...