为什么不能在我的搜索查询中同时使用 like 和 equal 运算符

发布于 2024-12-01 19:44:35 字数 448 浏览 2 评论 0原文

我想做的是按三列进行简单搜索:名字、姓氏和电子邮件,

在我的情况下,我需要前两个列(名字和姓氏)可以通过 like 运算符搜索,最后一列(电子邮件)可以通过 equal 运算符搜索,

但是我收到的错误无法解释我应该做什么:

没有手绘圆圈或箭头的屏幕截图。

在普通的 sql 中它应该是这样的:

Select *
From Member
Where FirstName like '%value%' Or LastName like '%value%' Or Email='value'

但是我做错了什么?

what i'm trying to do it's simple search by three columns: firstname, lastname and email

in my case i need that two first colums (firstname and lastname) will be searchable by like operator and the last one (email) by equal operator

but im getting error that does not explain what should i do:

Screenshot with no freehand circles or arrows.

in plain sql it should be something like this:

Select *
From Member
Where FirstName like '%value%' Or LastName like '%value%' Or Email='value'

but what im doing wrong?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧夏天 2024-12-08 19:44:35

你可以尝试一下

.Where(Restrictions.Disjunction()
     .Add(Restrictions.On(x => x.FirstName).IsLike(keyWord))
     .Add(Restrictions.On(x => x.LastName).IsLike(keyWord))
     .Add(Restrictions.On(x => x.FirstName).IsLike(keyWord))
     .Add(Restrictions.Eq(x.Email,keyWord))
 )

我希望它有帮助

You can try with

.Where(Restrictions.Disjunction()
     .Add(Restrictions.On(x => x.FirstName).IsLike(keyWord))
     .Add(Restrictions.On(x => x.LastName).IsLike(keyWord))
     .Add(Restrictions.On(x => x.FirstName).IsLike(keyWord))
     .Add(Restrictions.Eq(x.Email,keyWord))
 )

I hope it's helpful

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文