c# - 不使用 lambda 表达式时的 LINQ 多重排序依据

标签 c# linq

<分区>

Possible Duplicate:
Multiple “order by” in LINQ

我想按某个字段排序一些数据集,然后再按其他字段排序。

使用 lambda 表达式这很容易 (OrderBy.ThenBy),但是当我有这样的语法时如何做到这一点:

 int maxQueries = int.MaxValue;
        // finds the most search for queries
        var ordered = from p in searchLogs
        where !string.IsNullOrEmpty(p.SearchQuery)
        group p by new 
        { 
           SearchQuery = p.SearchQuery
        } 
        into pgroup
        let count = pgroup.Count()
        orderby count descending
        select new 
        { 
            Count = count, 
            SearchQuery = pgroup.Key.SearchQuery
        };

我似乎找不到在降序关键字之后起作用的方法(比如 orderby count descending 然后 searchquery)..

有什么想法吗?

最佳答案

descending 之后加一个逗号并指定下一个排序依据(可选地添加 descending)等等

关于c# - 不使用 lambda 表达式时的 LINQ 多重排序依据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14003004/

相关文章:

c# - 'await' 运算符只能在异步 lambda 表达式中使用 Windows Phone 8

c# - 在 Express Checkout 审核页面中显示订单项

c# - 如何为WPF View 模型和数据模型类选择命名约定?

c# - EF 非静态方法需要一个目标

c# - linq to sql : specifying JOIN instead of LEFT OUTER JOIN

c# - MSMQ。将邮件正文存储在驱动器上时对其进行加密

c# - build DAL。使用 EDM(来自数据库)

c# - LINQ 动态Where - 不添加子句

c# - 使用 LINQ To NHibernate 按具有全部最大值的可变上限值分组

c# - LINQ - 左连接、分组依据和计数