Nhibernate 为什么可以';t我在搜索查询中同时使用like和equal运算符

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' 但是我做错

我试图做的是通过三列进行简单搜索:firstname、lastname和email

在我的情况下,我需要两个第一栏(firstname和lastname)将由like运算符搜索,最后一个栏(email)由equal运算符搜索

但我得到的错误并不能解释我该怎么做:

在纯sql中,应该是这样的:

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))
 )

我希望这会有帮助

只是一个想法-清理和重建?