Я динамически создаю проектируемый запрос nhibernate, который должен реализовать пейджинг. Что-то вроде ...
var projections = Projections.ProjectionList();
foreach (var p in projection.Projections)
{
IProjection newProjection = null;
switch (p.AggregateFunc)
{
case AggregateFuncTypeEnum.GroupProperty:
newProjection = Projections.GroupProperty(p.Path);
break;
case AggregateFuncTypeEnum.Sum:
newProjection = Projections.Sum(p.Path);
break;
default:
newProjection = Projections.Property(p.Path);
break;
}
projections.Add(newProjection, p.Name);
}
criteria.SetProjection(projections).SetResultTransformer(new AliasToBeanResultTransformer(projectionType));
Я могу получить первые 15 результатов, вот так
criteria.SetFirstResult(0);
criteria.SetMaxResults(15);
var results = criteria.List();
Но мне также нужно отправить еще один запрос, чтобы получить общее количество записей, но пока я не смог выяснить это. Прогноз еще нужно применить, т. Е. Если результаты сгруппированы по «коду» с суммой «стоимости», то 100 записей могут вернуть 20 строк, а это 20, которые меня интересуют.
Как я могу получить общее количество записей, которые будут возвращены? Спасибо