c# - projections - Use OR Clause en queryover en NHibernate
queryover join (1)
Estoy usando Nhibernate. Estoy escribiendo una consulta a través del método queryover. Puedo escribir y mencionar como en el código a continuación. Funciona bien.
db.QueryOver(Of Users)()
.Where(Function(x) x.Role = "Guest")
.And(Function(x) x.Block = 0)
.And(Function(x) x.APPID = appId)
.List();
Pero quiero usar la cláusula Or
lugar de And
o la combinación de ambos. ¿Cómo puedo implementar esto? Gracias
Aquí hay una descripción de cómo podemos construir O con NHiberante
La sintaxis (en C # como dice la etiqueta) es:
-
Restrictions.Or(restriction1, restriction1)
-
Restrictions.Disjunction().Add(restriction1).Add(restriction2).Add(...
En este caso, podría ser así (nuevamente en C #, mientras que la pregunta parece usar VB) :
db.QueryOver<Users>()()
.Where((x) => x.Role == "Guest")
.And(Restrictions.Or(
Restrictions.Where<Users>((x) => x.Block == 0)
, Restrictions.Where<Users>((x) => x.APPID == appId)
))
.List<Users>();