组合多个数据表

本文关键字:数据表 组合 | 更新日期: 2023-09-27 18:04:45

我有一个具有相同结构的数据表数据集。我想在 single linq查询

中从这些表中获得单个数据row集合
from sourceTab in ds.Tables.OfType<DataTable>() 
select sourceTab

然后我需要从每个表中选择数据,并将它们组合成一个列表

组合多个数据表

使用SelectMany从每个表中选择所有行并将它们平铺成一个序列:

from row in ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
// filter, etc 
select row

如果你只想要所有的行,那么使用

ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())

您不需要查询语法来做到这一点。简单的方法查询就可以了:

var results = ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())

尝试Cast<T>SelectMany<T>

var r = ds.Tables.Cast<DataTable>().SelectMany(n => n.AsEnumerable())