複雑なクエリに基づいてレコードセット(結果セットA)を返すストアドプロシージャがあり、レコードは特定の順序になっています。別のテーブル(結果セットB)からID値を返す別のクエリがあります。
「idが存在する結果セットA(結果セットB)からレコードを取得する」のようなことをしたい。
これはコードビハインドで行う必要があります。これを行う方法について何かアイデアはありますか?
複雑なクエリに基づいてレコードセット(結果セットA)を返すストアドプロシージャがあり、レコードは特定の順序になっています。別のテーブル(結果セットB)からID値を返す別のクエリがあります。
「idが存在する結果セットA(結果セットB)からレコードを取得する」のようなことをしたい。
これはコードビハインドで行う必要があります。これを行う方法について何かアイデアはありますか?
この拡張メソッドを使用できます-収量に基づいてLinq Contains operator
public static IEnumerable<string> Select(this DataReader reader, int index)
{
while (reader.Read())
{
yield return reader[index].ToString();
}
}
注: 2 つのレコードセット Reader1 と Reader2 があります。拡張メソッドを選択して、項目 IEnumerable のリストを取得します。
var list1 = reader1.Select(0); //Search on first column;
var list2 = reader2.Select(0);
//Get list items of values (index 0) of list2, who exist in list1.
var result = from item on list2.Select(0)
where list1.Contains(item)
select item;