私は次のクラスを持っています:
class XXX
{
int XXXType{get;set;}
List<YYY> Children{get;set;}
}
class YYY
{
int YYYType{get;set;}
}
プロパティ XXXType の同じ値を持つアイテムの数を見つけたいと思います。また、これらのグループごとに、プロパティ YYYType の値が同じ子を持つアイテムの数を見つけたいと考えています。linq to sql は select/group 内の select/group をサポートしていますか? コンパイル/ランタイム例外は発生しませんが、YYYChildren の長さは常にゼロです。
(from x in XXX).GroupBy(x=>x.XXXType, (key, values) => new {
XXXType = key,
Count = values.Count(),
YYYChildren = (from y in values.SelectMany(z=>z.Children).GroupBy(y=>y.YYYType, (key, values) =>
new {
YYYType = key,
Count = values.Count()
}
});