Я пытаюсь использовать функцию SQL CONSTAINS
для фильтрации некоторых данных в QueryOver API.Как использовать полнотекстовый поиск для любого свойства с QueryOver API
Основная проблема заключается в том, что я не могу использовать SqlFunction
в том месте, где он не компилируется, потому что нужен ICriterion
.
var result = Session.QueryOver<Individual>()
.Where(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(x => x.LastName),
Projections.Constant("something")))
.List();
Я пытался сопоставить его с константой TRUE
, но при выполнении запроса он генерирует ошибку синтаксиса, поскольку CONSTAINS
функция не может быть использована с равным оператору.
var result = Session.QueryOver<Individual>()
.Where(Restrictions.Eq(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(p => p.LastName),
Projections.Constant("something")), true))
.List();
Как я могу использовать функцию булево SQL непосредственно в том, где выражение QueryOver API?