Il testo di ricerca contiene con QueryOver

Sto provando a fare questo:

var list = Session.QueryOver() .Where(x => x.LastName.Contains(searchText)) .List(); 

ma ottengo questo errore: chiamata al metodo non riconosciuto: System.String: Boolean Contains (System.String)

Hai un’idea ?

Aggiornare :

 public class Person { public virtual string FirstName { get; set; } public virtual string LastName { get; set; } } 

NHibernate non ha un equivalente C # come menzionato su questo link http://nhibernate.info/blog/2009/12/17/queryover-in-nh-3-0.html

Restrizioni aggiuntive

Alcuni operatori / funzioni SQL non hanno un equivalente diretto in C #. (ad esempio, l’SQL dove nome come ‘% anna%’). Questi operatori hanno sovraccarichi per QueryOver nella class Restrizioni, quindi puoi scrivere:

.Where (Restrictions.On (c => c.Name) .IsLike (“% anna%”))

C’è anche una syntax in linea per evitare la qualifica del tipo:

.WhereRestrictionOn (c => c.Name) .IsLike (“% anna%”)

Sembra che QueryOver non supporti il ​​metodo Contains. Puoi provare con la restrizione IsLike:

noverna queryover LIKE con alberi di espressione
Ricerca NHibernate 3.0 con sottostringa
queryover e (x come ‘a’ o y come ‘a’)

 WhereRestrictionOn(x => x.FName).IsLike("a%") use like this 
 var data = session.QueryOver() .JoinQueryOver(x => x.Empsals) .WhereRestrictionOn(x => x.FName).IsLike("a%") .List();