必要なものを正確に返す次のクエリがあります。
var dataRows =
(from headerLocationRow in headerLocationDataTable
select WellsDao.Instance.GetAllWellData(headerLocationRow.HEADER_ID).WELL_BORE_CONSOLIDATED)
.SelectMany(x => x.Select());
しかし、インラインクエリと拡張メソッドを組み合わせる方法は好きではありません。これは古いプロジェクト用であるため、強く型付けされたデータセットで立ち往生しています。2つのfromステートメントを使用しようとしましたが、それは気に入らなかった。 headerLocationDataTableは、強く型付けされたDataTableです。そのWellsDao.Instance.Get ...ナンセンスはDataSetをトラバースし、headerLocationDataTableのHEADER_IDフィールドに基づいてWELL_BORE_CONSOLIDATEDとして強く型付けされたDataTablesのコレクションを返します。
クエリが機能するため、これは大したことではありませんが、私は実際にLINQを処理しようとしているので、このすべてをインラインで実行する方法を知りたいだけです。または、これをよりエレガントに書く方法を知っている場合は、共有してください。最終的には、関連付けられている親のheaderLocationRowに関係なく、すべてのWELL_BORE_CONSOLIDATED行を含むDataRowのフラットリストを取得したいと思います。