BIML ファイルで作業しているときに、SQL クエリを使用しDataTables
た呼び出しを介して入力している 2 つがあります。ExternalDataAccess.GetDataTable
私は一方の内側をもう一方の内側にループしており、内側の値を外側の値でフィルタリングすることにより、2つを「結び付け」ようとしています。
次のようにコーディングすることで、これを回避しました。
foreach (DataRow t in Target.Rows) {
foreach (DataRow c in Columns.Rows) {
if (c["Object"].ToString() == t["ReferenceObject"].ToString()) {
//...
}
}
}
foreach
ただし、内側のループをフィルタリングする方法があると思います。中には1000枚のレコードもあるかもしれませんDataSet
ここは私の経験不足が光っているところです。
foreach (DataRow t in Target.Rows) {
foreach (DataRow c in Columns.Rows.Where(z => z["Object"].ToString() == t["ReferenceObject"].ToString())) {
//...
}
}
エラーが表示されます: 'System.Data.DataRowCollection'
'Where' の定義が含まれておらず、拡張子がありません*...これが有効でないことはわかっていますが、本質的にはそれが私がやろうとしていることです。foreach
外側のループの値に基づいて内側のループをフィルタリングする方法はありforeach
ますか?