Я решил свою проблему. Дело в том, что в Nhibernate есть ошибки, связанные с CriteriaTransformer.TransformToRowCount . Возвращает int не долго.
И что я сделал выше, так это то, что я пытался получить количество строк ограниченного набора результатов (запрос, для которого установлены SetFirstResult и SetMaxResult)
ISession session = NHibernateHttpModule.CurrentSession;
var countCriteria = CriteriaTransformer.TransformToRowCount(query);
rowCount = Convert.ToInt64(countCriteria.GetExecutableCriteria(session).UniqueResult());
query.SetMaxResults(pageSize).SetFirstResult(pageIndex * pageSize);
var customers = query.GetExecutableCriteria(session).List<Customer>();
Это решение для моего сценария. Я надеюсь, что это помогает кому-то, кто имеет ту же проблему.
Thaks