почему я не могу использовать одинаковые и равные операторы вместе в моем поисковом запросе - PullRequest
1 голос
/ 27 августа 2011

Что я пытаюсь сделать, это простой поиск по трем столбцам: имя, фамилия и адрес электронной почты

в моем случае мне нужно, чтобы два первых столбца (имя и фамилия) были доступны для поиска по аналогичному оператору, а последний (по электронной почте) - по равному оператору

но я получаю ошибку, которая не объясняет, что мне делать:

Screenshot with no freehand circles or arrows.

в простом sql это должно быть примерно так:

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

а что я делаю не так?

1 Ответ

2 голосов
/ 28 августа 2011

Вы можете попробовать с

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

Я надеюсь, что это полезно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...