0

特定の機能結果が真であるデータベーステーブルからデータを選択するlinqクエリを作成する必要があります。

私は使用linq-to-sqlしていて、関数はうまく機能し、データを取得するための基本的なクエリを書くことができます。

私の問題は、パラメータのメモリ内リストがあり、基本的にlinqクエリを複数回(パラメータリストアイテムごとに1回)実行して結果を集計する必要があることです。

を結合として使用しようとしまし.Any()たが、linqはデータベース以外の結果セットをデータベース結果セットと結合することを好みません。

いくつかのサンプルコード:

Parameter list: // lets call it "l"
{    
 One,
 Two,
 Three
}

クエリ

From w in words where funcWord(l.item) == true select w;

したがって、l内のすべてのアイテムに対して上記のクエリを1回実行し、結果を集約できるクエリが必要になります。

どんな助けでも大歓迎です。

ありがとう。

4

2 に答える 2

1

複数のステートメントは、ネストされたステートメントfromのように、すべての組み合わせを通過します。foreach

from item in list
from w in words
where funcWord(item, w.name) == true
select w;

興味深いことに、これはSelectMany計算癖の答えに似たステートメントに変換されます。

于 2012-07-06T14:37:42.593 に答える
0

各メンバーに適用された1対多関数の結果を集約するSelectManyを試してください。

この場合、メンバーはの要素でlistあり、1対多関数は上記のl依存クエリです(ラムダ関数として書き直しましたが)。

list.SelectMany(l => words.Where(w => funcWord(l.item, w.name)));

于 2012-07-06T05:20:13.943 に答える