意外とはまったのでメモ。
やりたいこと。
とあるクラスのリスト、クラスには集約キーのプロパティが複数あって、データ部のレコードが存在してる。
これをキーでまとめて、データ部をリスト化したクラスのリストにまとめたい。
で、書いてみたサンプルがこれ。
Dim c = From x As SampleRecord In samples
Group x By x.Key1, x.Key2, x.Key3
Into Datas = Group
Select New Hoge With {
.Key1 = Key1,
.Key2 = Key2,
.Key3 = Key3,
.Datas = Datas.Select(Function(f)
Return New DetailData With {
.Data1 = f.Data1,
.Data2 = f.Data2,
.Data3 = f.Data3
}
End Function).ToList
}
hogeクラスにはキーで集約されて、データ部にリスト化されたDetail情報が集まる