¿Cómo obtengo el recuento de filas utilizando la API de NHibernate QueryOver?
nhibernate-queryover rowcount (4)
Después de jugar un poco con la API, esto lo hará:
_session.QueryOver<MyObject>()
.Select(Projections.RowCount())
.FutureValue<int>()
.Value
Si no quiere devolverlo como futuro, puede obtener el SingleOrDefault<int>()
lugar.
Estoy usando la API de QueryOver que forma parte de NHibernate 3.x. Me gustaría obtener un recuento de filas, pero el método que estoy utilizando devuelve todos los objetos y luego obtiene el recuento de la colección. ¿Hay alguna forma de devolver un valor entero / largo del número de filas?
Actualmente estoy usando:
_session.QueryOver<MyObject>().Future().Count()
Estoy usando así:
public int QuantidadeTitulosEmAtraso(Sacado s)
{
TituloDesconto titulo = null;
Sacado sacado = null;
var titulos =
_session
.QueryOver<TituloDesconto>(() => titulo)
.JoinAlias(() => titulo.Sacado, () => sacado)
.Where(() => sacado.Id == s.Id)
.Where(() => titulo.Vencimento <= DateTime.Today)
.RowCount();
}
Otro método
var count = Session.QueryOver<Employer>()
.Where(x => x.EmployerIsActive)
.RowCount();
Otro método:
int employerCount = session
.QueryOver<Employer>()
.Where(x => x.EmployerIsActive) // some condition if needed
.Select(Projections.Count<Employer>(x => x.EmployerId))
.SingleOrDefault<int>();