NHibernate QueryOver con MaxResult, Group By y Order By
(1)
Simplemente puede repetir la proyección en la cláusula OrderBy.
La siguiente consulta le dará un IList<object[]>
donde el primer elemento de cada elemento es el ID y el segundo es el recuento.
var result = session.QueryOver<GroupMessageVotes>()
.Select(
Projections.Group<GroupMessageVotes>(e => e.intVoteUserID),
Projections.Count<GroupMessageVotes>(e => e.intVoteUserID)
)
.OrderBy(Projections.Count<GroupMessageVotes>(e => e.intVoteUserID)).Desc
.Take(10)
.List<object[]>();
Estoy intentando convertir una consulta SQL a la sintaxis de NHibernate QueryOver, pero no entiendo cómo ordenar por la proyección de conteo.
Así es como se ve la consulta SQL:
select top 10 v.intVoteUserID, COUNT(v.intVoteUserID)
from Group_MessageVotes v
where v.dtmVote > :date
group by v.intVoteUserID
order by COUNT(v.intVoteUserID) desc
¿Algunas ideas?