2011-12-28 23 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 
相關問題