Вы можете просто повторить проекцию в предложении OrderBy.
Следующий запрос даст вам IList<object[]>
, где первый элемент каждого элемента - это идентификатор, а второй - количество.
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[]>();