c# - nhibernate queryover examples
Buscar texto contiene con QueryOver (4)
Estoy tratando de hacer esto:
var list = Session.QueryOver<Person>()
.Where(x => x.LastName.Contains(searchText))
.List<Person>();
pero me sale este error: Llamada de método no reconocido: System.String: Boolean Contiene (System.String)
Tienes una idea ?
Actualización:
public class Person
{
public virtual string FirstName { get; set; }
public virtual string LastName { get; set; }
}
NHibernate no tiene un equivalente directo de C # como se menciona en este enlace http://nhibernate.info/blog/2009/12/17/queryover-in-nh-3-0.html
Restricciones Adicionales
Algunos operadores / funciones de SQL no tienen un equivalente directo en C #. (por ejemplo, el SQL donde nombre como ''% anna%''). Estos operadores tienen sobrecargas para QueryOver en la clase Restricciones, por lo que puede escribir:
.Where (Restrictions.On (c => c.Name) .IsLike ("% anna%"))
También hay una sintaxis en línea para evitar la calificación del tipo:
.WhereRestrictionOn (c => c.Name) .IsLike ("% anna%")
Parece que QueryOver no admite el método Contains. Podrías probar con la restricción de IsLike:
nhibernate queryover LIKE con árboles de expresión
Búsqueda NHibernate 3.0 con subcadena
consulta y (x como ''a'' o y como ''a'')
var data = session.QueryOver<tablename>()
.JoinQueryOver<if another table present>(x => x.Empsals)
.WhereRestrictionOn(x => x.FName).IsLike("a%")
.List<EmployeeDetails>();
WhereRestrictionOn(x => x.FName).IsLike("a%") use like this