我想创建一个超过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()。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top