我想查询分层数据集以检索某个元素(主机)。
我希望这个结果是平坦的(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>
答案 0 :(得分:1)
您可以使用lambda表达式代替查询表达式。
var clusteredhosts = dataViews.Clusters.SelectMany(c=>c.Hosts);