私は LINQ を (mvc で) 使用して最初のプロジェクトに取り組んでいるので、見逃した非常に単純なものがあると思われます。ただし、検索と実験の 1 日を行っても、機能するものは何も見つからなかったため、投稿します。
OR または AND で区切られた where ステートメントに複数の条件を含む LINQ クエリ (Linq to SQL) を作成しようとしています。実行時まで、クエリに含まれる条件の数はわかりません。これは、ユーザーが複数の基準を選択してフィルター処理できる検索フィルター コントロール用です。
select * from table
where table.col = 1
OR table.col = 2
OR table.col = 7
.... 'number of other conditions
すべての条件をループしながら、SQL クエリを文字列として構築する前に。ただし、LINQ でこれを行う良い方法があるはずです。式ツリーを使用して調べてみましたが、今のところ頭の中にあるようです。もう 1 つのアイデアは、次のように where ステートメント内でラムダ関数を実行することでした。
For Each value In values
matchingRows = matchingRows.Where(Function(row) row.col = value)
ただし、これは AND 条件でのみ機能します。OR を行うにはどうすればよいですか?