Невозможно сказать, что не так из того, что вы нам дали.Мы не знаем ваших отображений, сколько столбцов в таблице, ничего.
Проблемы могут быть вызваны следующими причинами:
- N + 1, поскольку все ваши ассоциации стремятся
- В вашей базе данных есть столбец с огромными данными (возможно,некоторые вложения или что-то в этом роде)
Вы также должны попытаться разбить свои результаты на страницы.
Вы должны отладить запросы NHibernate и посмотреть, что происходит.Это можно сделать либо с помощью show_sql, либо с помощью какого-либо средства ведения журнала, либо с помощью какого-либо профилировщика, например NHProf, или даже профилировщика SQL.
Вероятно, вы увидите много выполненных запросов, поскольку не включена отложенная загрузка.
РЕДАКТИРОВАТЬ:
Если у вас есть несколько столбцов в таблице, которые вы не хотите загружать, если вы не обращаетесь к ним, вы можете установить сопоставление их свойств с помощью lazy = true,или вы можете сопоставить эти столбцы с компонентами и установить эти компоненты как lazy = true.Таким образом, при первом обращении к этим столбцам будут выполняться дополнительные запросы.