0

次のシナリオがあります。

ユーザーは、検索中に次のオプションのいずれかを選択できます。

  • 0
  • 1-3
  • 4-6
  • 7-9
  • 10-12
  • 12歳以上

彼らは0、4-6、12+を選んだと言います

SQL where ステートメントは次のようになります。

Where (total_count = 0
OR (total_count >= 4 AND total_count <= 6)
OR total_count > 12)

これらの値を取得するために、チェックボックスリストコレクションを反復処理しているので、試していました:

query = query.Where(tc => tc.total_count >= 4 && tc.total_count <= 6);

しかし、これはステートメント間に AND を追加していました。どうすれば or を追加できますか。整数を含むリストを作成して含む可能性があることはわかっていますが、12+ がどれだけになる可能性があるかはわかりません。

ありがとう

4

1 に答える 1

0

「OR」を追加しても問題はありません。「WHERE」句に必要なのは述語(trueまたはfalseを返すもの)だけです。または、ポイントを逃した可能性があります。

あなたのSQL例に関して、同等のものは次のようになります

    query.Where(tc=> tc.total_count == 0 || (tc.total_count >= 4 && tc.total_count <= 6) || tc.total_count > 12)
于 2012-06-17T22:03:26.300 に答える