6

c#でlinqを使用してdbをクエリし、IDのリストまたは配列に対応するすべてのオブジェクトを取得してリストに入れる方法を理解するのに問題があります。例えば:

アイテムの表があります。パス配列またはリストにIDが含まれるすべてのアイテムを取得するメソッドを作成したいと思います。私はそれをグーグルで検索しましたが、リストまたは配列を使用してクエリするのではなく、リストまたは配列に対してクエリを実行したいだけだと常に想定しています。

前もって感謝します。

4

2 に答える 2

25

次のようなものが必要なようです。

var query = items.Where(item => validIds.Contains(item.Id));

これがすべてローカル(つまり、インプロセス、LINQ to Objects)であり、有効なIDが多数ある場合は、おそらくを作成する必要があることに注意してくださいHashSet<T>

または、もちろん、参加することもできます。

var query = from id in validIds
            join item in items on id equals item.Id
            select item;

(これの例はWebやStack Overflowにたくさんありますが、使用するすべての用語が一般的であるため、見つけるのは簡単ではないことを理解できます。)

于 2013-03-02T19:41:45.207 に答える