Chr*_*Dog 3 linq where-clause wcf-data-services
在另一篇文章中:Linq-To-Sql是否支持可组合查询,讨论了如何动态组合/连接where子句.这似乎是用"AND"完成的(即第一个where子句和第二个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
Run Code Online (Sandbox Code Playgroud)
这给人们起名为"丹尼尔"并且未满18岁.我正在寻找加入这些名称的语法,以找到名字为"丹尼尔"或未满18岁的人.
注意:我正在使用ADO.net数据服务,所以我没有.Contains()可供我使用.
编辑:联盟建议(由Garry Shutler)正是我正在寻找的功能方面.我确实遇到了两个可能的问题:
你想要的就像:
var people = from p in Person
where p.age < 18 || p.firstName == "Daniel"
select p;
Run Code Online (Sandbox Code Playgroud)
或者你刚才举了一个简单的例子?
在这种情况下,您可以使用:
var under18 = from p in Person
where p.age < 18
select p;
var daniels = from p in Person
where p.firstName == "Daniel"
select p;
var combined = under18.Union(daniels);
Run Code Online (Sandbox Code Playgroud)
LinqToSql可能足够智能,可以将其转换为OR,但我不太确定.
| 归档时间: |
|
| 查看次数: |
1060 次 |
| 最近记录: |