2011-12-28 45 views
0

我有以下LINQ查询:如何通过双精度和字符串来对我的长LINQ查询的输出进行排序?

summaries = from m in _master 
          join d in _detail on pk + m.RowKey equals d.PartitionKey into outer 
          from d in outer.DefaultIfEmpty() 
          select new 
          { 
           Position = m.Position, 
           Title = m.Title, 
           Detail = ((d == null) ? 0 : 1), 
           PartitionKey = m.PartitionKey, 
           RowKey = m.RowKey, 
           Modified = m.Modified, 
           ModifiedBy = m.ModifiedBy 
          } into split 
          group split by split.Title into g 
          select new AdminSummary 
          { 
           Position = g.Last().Position, 
           Title = g.Key, 
           DetailCount = g.Sum(s => s.Detail), 
           PartitionKey = g.Last().PartitionKey, 
           RowKey = g.Last().RowKey, 
           Modified = g.Last().Modified, 
           ModifiedBy = g.Last().ModifiedBy 
          }; 

查询效果很好,但现在我想通过位置(双),其次是标题(字符串)做的订单。

有人可以告诉我如何做到这一点?

有人能告诉我如何做的顺序?

回答

2

这是很容易:

summaries = summaries.OrderBy(item =>item.Position).ThenBy(item =>item.Title); 

您也可以使用OrderByDescending()ThenByDescending()如果你需要他们按降序排列

1

你上面的查询后进行。

summaries = from s in summaries 
      orderby s.Position,s.Title 
      select s 
相关问题