[NHibernate] Paging и TotalRows одним запросом.
От: Ocenochka  
Дата: 21.11.10 16:37
Оценка:
Нашел тут как красиво одним методом выполнить из запрос с пагинацией + получить общее число записей:
http://stackoverflow.com/questions/116188/how-do-i-select-the-count-of-an-nhibernate-subquerys-results

    public IList GetOrders(int pageindex, int pagesize, out int total)
    {
            var results = session.CreateQuery().Add(session.CreateQuery("from Orders o").SetFirstResult(pageindex).SetMaxResults(pagesize));

{!}         var wCriteriaCount = (ICriteria)results.Clone());

            wCriteriaCount.SetProjection(Projections.RowCount());

            total = Convert.ToInt32(wCriteriaCount.UniqueResult());


            return results.List();
    }


Только вот в помеченной строке "(ICriteria)results" класс с интерфейсом IQuery и реализацией QueryImpl не приводится к ICriteria.

Может есть какой-нибудь похожий простой способ или этот может можно как-то исправить?
Люблю ставить оценки.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.