J'essaie d'utiliser la fonction SQL CONSTAINS
pour filtrer certaines données sur l'API QueryOver.Comment utiliser la recherche de texte intégral pour une propriété avec l'API QueryOver
Le problème principal est que je ne peux pas utiliser SqlFunction
dans la clause where, il ne compile pas, car un ICriterion
est nécessaire.
var result = Session.QueryOver<Individual>()
.Where(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(x => x.LastName),
Projections.Constant("something")))
.List();
J'ai essayé de le faire correspondre à une constante TRUE
, mais lorsque la requête est exécutée, il génère une erreur de syntaxe, car la fonction CONSTAINS
ne peut pas être utilisé avec l'opérateur =.
var result = Session.QueryOver<Individual>()
.Where(Restrictions.Eq(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(p => p.LastName),
Projections.Constant("something")), true))
.List();
Comment puis-je utiliser une fonction SQL booléenne directement où l'expression sur l'API de QueryOver?