6

こんにちは、検索条件に基づいてLINQステートメントを作成するための提案はありますか?

すべてのパラメーターをnull許容にする「SearchCriteria」クラスのインスタンスを渡します。

それから私はしたい

if (sc.a != null)
    // add to where

if (sc.b != null)
    // add to where

重要なのは、これらがANDではなくORになることです。

任意のヒント?

そして、ボーナスポイントについては、intで「含む」を使用したいですか?しかし、私は等しいか等しくないかしか得ることができません。

4

1 に答える 1

6

試す:

.Where(x =>
    (x.a != null ? x.a == a : false) &&
    (x.b != null ? x.b == b : false));

また

.Where(x =>
    (x.a != null && x.a == a) ||
    (x.b != null && x.b == b));

また:

.Where(x => new int[] { 1, 2, 3 }.Contains(x.i));
于 2012-09-09T08:43:47.210 に答える