3

こんばんは、

Linqクエリをほぼ正しく取得できました。私が解決するのに苦労しているもう1つの問題があります。

私の質問は

var o =
  (from c in x
   group c by x.Date.Date into cc
   select new 
   { 
      Group = cc.Key.Date, 
      Items = cc.ToList(),
      ItemCount = cc.Count() 
   }).OrderByDescending(p => p.Group);

これで、このクエリは正常に機能します。ListView内で日付別にグループ化されます。x.Dateは、SQLデータベースのDateTimeフィールドです。したがって、x.Date.Dateを選択して、DateTimeフィールドの実際の日付でグループ化します。これは、x.Dateであるかのように、日付と時刻でグループ化されます。

私の質問は、最新の時間がグループの一番上になるように、どのように時間でグループ化するのですか?

どうもありがとう

4

3 に答える 3

4

linq "ThenBy()"メソッドを使用します。

var o = (from c in x group c by x.Date.Date into cc select new 
  { 
    Group = cc.Key.Date, 
    Items = cc.OrderByDescending(y=>y.Date).ToList(), 
    ItemCount = cc.Count() 
  })
  .OrderByDescending(p => p.Group)      
于 2012-08-30T18:01:22.807 に答える
2

Items = cc.ToList()に変更Items = cc.OrderBy(c => c.[field_you_want_to_sort_by]).ToList()

于 2012-08-30T18:07:47.950 に答える
1
var o =
  (from c in x
   group c by c.Date.Date into cc
   select new 
   { 
      Group = cc.Key.Date, 
      Items = cc.OrderByDescending(a=>a.Date.Time).ToList(),
      ItemCount = cc.Count() 
   }).OrderByDescending(p => p.Group);
于 2012-08-30T18:09:30.703 に答える