我有以下string array
,并希望将内容转换为linq Where
子句,如下所示。
var words[] = new string [] { "aaa", "bbb", "ccc", "ddd" };
.Where(x => x.Word == "aaa" && x.Word == "bbb" &&
x.Word == "ccc" && x.Word == "ddd")
干杯:)
这实际上是针对RavenDb而且它足够聪明,可以将linq转换为Lucene查询,其中包含AND
...
所以我真的需要它&&
RavenDB中的Linq提供程序,当被告知将linq翻译为lucene时,会执行以下操作。
.Where(x => x.Word == "aaa" && x.Word == "bbb")
将其翻译为
Query:aaa AND Query:bbb
所以请,我真的很感激使用||
的任何帮助而不是建议。这不是linq to objects
或linq to ef
等等。
答案 0 :(得分:3)
.Where(x => words.Contains(x.Word))
UPD :这对问题的初始修订完全有效
答案 1 :(得分:2)
如果您想使用&&
,那么您要求满足所有条件。您可以尝试All
运算符:
.Where(item => words.All(word => word == item));
这似乎非常违反直觉,但值得一试!