Ich versuche, die SQL-Funktion CONSTAINS
zu verwenden, um einige Daten auf QueryOver API zu filtern.So verwenden Sie die Volltextsuche für eine beliebige Eigenschaft mit QueryOver API
Das Hauptproblem ist i nicht SqlFunction
in where-Klausel verwenden können, ist es nicht kompilieren lässt, weil ein ICriterion
benötigt wird.
var result = Session.QueryOver<Individual>()
.Where(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(x => x.LastName),
Projections.Constant("something")))
.List();
ich versuchte, es zu einem TRUE
konstant zu passen, aber wenn die Abfrage erzeugt es Fehler Syntax ausgeführt wird, weil CONSTAINS
Funktion nicht gleich Operator verwendet werden kann.
var result = Session.QueryOver<Individual>()
.Where(Restrictions.Eq(Projections.SqlFunction(
"FullTextContains", NHibernateUtil.Boolean,
Projections.Property<Individual>(p => p.LastName),
Projections.Constant("something")), true))
.List();
Wie kann ich eine boolean SQL-Funktion verwenden direkt in denen die Expression auf QueryOver API?