別の投稿:Linq-To-Sqlは構成可能なクエリをサポートしていますか? where句を動的に構成/連結する方法についての議論がありました。これは「AND」(つまり、最初のwhere句と2番目のwhere句がANDで結合されている)で行われているように見えます。私が疑問に思っているのは、ORを使用してLinqクエリを作成する方法があるかどうかです。
例:
var people = from p in Person
where p.age < 18
select p
var otherPeople = from p in people
where p.firstName equals "Daniel"
select p
これにより、名が「Daniel」で18歳未満の人が表示されます。これらを結合して「Daniel」の名を持つ人または18歳未満の人を見つけるための構文を探しています。
注:私はADO.net Data Servicesを使用しているため、.Contains()を使用できません。
編集:Union Suggestion(Garry Shutlerによる)は、まさに私が機能的に探しているものです。私はそれに関して2つの考えられる問題に遭遇しました:
- 3番目の条件を実行すると複数のデータベースヒットが発生するようです(ユニオンはパラメーターとしてIEnumerableを使用しているようです)-コードで複数のANDおよびORステートメントを作成してから、1つのリクエストを実行したいと考えていました。
- UnionはADO.NetDataServicesでサポートされていません(非常に残念です)