我想要做的是通过三列简单搜索:名字,姓氏和电子邮件
在我的情况下,我需要两个第一列(名字和姓氏)可由类似运营商搜索,最后一个(电子邮件)由同等运营商搜索
但我得到的错误无法解释我应该做什么:
在普通的SQL中它应该是这样的:
Select *
From Member
Where FirstName like '%value%' Or LastName like '%value%' Or Email='value'
但是我做错了什么?
答案 0 :(得分:2)
您可以尝试使用
.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))
)
我希望它有用