如何在Expression.Or中设置多于2个表达式
-
10-07-2019 - |
题
我想创建一个超过3-4个Expression.Or的查询?但Expression.Or只是让我在其中添加两个表达式。
if (!string.IsNullOrEmpty(keyword))
query
.Add(Expression.Or(
Expression.Like("Name", keyword, MatchMode.Anywhere),
Expression.Like("LastName", keyword, MatchMode.Anywhere)))
.Add(Expression.Or(
Expression.Like("Email1", keyword, MatchMode.Anywhere),
Expression.Like("Email2", keyword, MatchMode.Anywhere)));
上面的代码会生成<!>“;%this%或LastName之类的名称,如%this AND Email1就像%this%和Email2一样%this。
提前致谢。
解决方案
使用 Disjunction 而不是Or。
其他提示
您也可以使用||而不是Or()或Disjunction()。
不隶属于 StackOverflow