我想通过某个字段和其他字段来订购一些数据集。
使用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 then searchquery)..
有什么想法吗?
答案 0 :(得分:7)
在descending
之后加上一个逗号并指定要排序的下一个内容(可选择添加descending
)等等
答案 1 :(得分:0)
只是为 mlorbetske 回答添加一些代码,如果您有这样的Customer类:
public class Customer
{
public string Name;
public DateTime MemberSince;
}
然后你可以执行这样的排序:
var q = from c in Customers
orderby c.MemberSince.Date descending, c.Name
select c;