linq数据分组/层次化

时间:2015-08-25 14:11:13

标签: c# linq

我想查询分层数据集以检索某个元素(主机)。 我希望这个结果是平坦的(List<Host>

我的数据是分层的:
clusters
- hosts
- guests

我有以下linq查询:

var clusteredhosts = from c in dataViews.Clusters select c.Hosts;

我希望得到List<Host>结果,但我得到了List<List<Host>>。这显然是有意义的,因为它返回分组结果<cluster, hosts>,但它不是我想要的输出。

在我的情况下,我怎样才能使它成为扁平结构? List<Host>

1 个答案:

答案 0 :(得分:1)

您可以使用lambda表达式代替查询表达式。

var clusteredhosts = dataViews.Clusters.SelectMany(c=>c.Hosts);