-1

重複の可能性:
linq-to-sql group by with count and custom object model

グループ化してカウントするlinq-to-sqlクエリがあり、結果は辞書に保存されます。ディクショナリをオブジェクトモデルのプロパティにマップしたいと思います。オブジェクトモデルは次のようになります。

public class MyCountModel()
{
  int CountSomeByte1 { get; set; }
  int CountSomeByte2 { get; set; }
  int CountSomeByte3 { get; set; }
  int CountSomeByte4 { get; set; }
  int CountSomeByte5 { get; set; }
  int CountSomeByte6 { get; set; }
}

クエリが次のように終了するように辞書をマップしたいと思います。

var TheQuery = MyDC.SomeTable
               .Where(...)
               .GroupBy(...)
               .ToDictionary(x => x.Key, x=> x.Count()
               .Select(m => new MyCountModel()
               {
                  CountSomeByte1 = ..., // the value where Key is 1
                  CountSomeByte2 = ...., // the value where Key is 2
                  ....
                  CountSomeByte6 = .... // the value where Key is 6
                });

どうすればこのようなものを書くことができますか?あなたの提案をありがとう。

4

1 に答える 1

2

何も選択したくない。クエリを単一の値に「削減」したいだけだと思います。

var dictionary = MyDC.SomeTable
               .Where(...)
               .GroupBy(...)
               .ToDictionary(x => x.Key, x=> x.Count());

var result = new  MyCountModel
               {
                  CountSomeByte1 = dictionary[1],
                  CountSomeByte2 = dictionary[2],
                  ....
                  CountSomeByte6 = dictionary[6]
                });
于 2012-09-28T20:42:24.960 に答える