3

同じ構造の DataTables のデータセットがあります。SINGLE linq クエリでこれらのテーブルから DataRows の単一のコレクションを取得したい

from sourceTab in ds.Tables.OfType<DataTable>() 
select sourceTab

次に、各テーブルからデータ行を選択し、それらを 1 つのリストに結合する必要があります

4

3 に答える 3

2

そのためにクエリ構文は必要ありません。単純なメソッドクエリで問題ありません。

var results = ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
于 2013-03-20T09:52:20.950 に答える
2

で試してみてCast<T>くださいSelectMany<T>

var r = ds.Tables.Cast<DataTable>().SelectMany(n => n.AsEnumerable())
于 2013-03-20T09:53:32.043 に答える
2

SelectMany各テーブルからすべての行を選択し、それらを 1 つのシーケンスにフラット化するために使用します。

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

すべての行が必要な場合は、次を使用します

ds.Tables.Cast<DataTable>().SelectMany(t => t.AsEnumerable())
于 2013-03-20T09:51:35.393 に答える