Nhibernate 为什么可以';t我在搜索查询中同时使用like和equal运算符
我试图做的是通过三列进行简单搜索:firstname、lastname和email 在我的情况下,我需要两个第一栏(firstname和lastname)将由like运算符搜索,最后一个栏(email)由equal运算符搜索 但我得到的错误并不能解释我该怎么做: 在纯sql中,应该是这样的:Nhibernate 为什么可以';t我在搜索查询中同时使用like和equal运算符,nhibernate,fluent-nhibernate,Nhibernate,Fluent Nhibernate,我试图做的是通过三列进行简单搜索:firstname、lastname和email 在我的情况下,我需要两个第一栏(firstname和lastname)将由like运算符搜索,最后一个栏(email)由equal运算符搜索 但我得到的错误并不能解释我该怎么做: 在纯sql中,应该是这样的: Select * From Member Where FirstName like '%value%' Or LastName like '%value%' Or Email='value' 但是我做错
Select *
From Member
Where FirstName like '%value%' Or LastName like '%value%' Or Email='value'
但是我做错了什么呢?你可以试试看
.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))
)
我希望这会有帮助只是一个想法-清理和重建?