Dynamic linq を見てきましたが、明らかに何かが欠けています。
あるシステムから別のシステムにファイルをインポートしようとしています。ファイル情報を含む Excel シートから DataTable をロードしました。(ExcelDataTable)。ユーザーがインポートしたいファイルの HastSet もあります。(FilesToImport)。ユーザーは、スプレッドシートからインポートする情報を選択します。これらの列は動的で、実行時に選択されます。(更新する変数をリストします)。クエリで自分の ID に参加していますが、データテーブルから必要な列を返す方法がわかりません。
DataTable dt = new DataTable();
var query =
from excelRow in this.ExcelDataTable.AsEnumerable()
join file in this.FilesToImport.AsEnumerable()
on excelRow.Field<Guid>("ceGuid") equals file.SourceFileIdentifier
select dt.LoadDataRow(new object[]
<COMPLETELY LOST HERE>
, false);
query.CopyToDataTable();
次のようなものを使用して何を返したいかがわかれば、それを解決できます。
select new { ImportSourceFilePath = excelRow.Field<string>(filePathColumn)};
しかし、私が言ったように、私の列はさまざまであり、実行時までそれらが何であるかはわかりません。
何か案は?