Я пытался внедрить NHibernate в проект, над которым я работаю на своем рабочем месте.
Поскольку мне необходимо сделать сильный упор на производительность, я провел стресс-тест для проверки концепции существующей таблицы проекта с тысячами записей, каждая из которых содержит большой текстовый столбец.
Тем не менее, при выборе коллекции этих записей оператор SELECT выполняется относительно долго; по-видимому, из-за вышеупомянутой колонки.
Первое решение, которое приходит на ум, устанавливает это свойство как ленивое:
<property name="Content" lazy="true"/>
Но, похоже, нет разницы в SQL, сгенерированном NHibernate. У меня вопрос: как ленивые свойства ведут себя в NHibernate? Есть ли какие-то ограничения типа, которые я мог бы пропустить? Должен ли я пойти по-другому?
Использование подхода HQL new Class(column1, column2)
работает, но ленивые свойства звучат как более простое решение.
Возможно, стоит упомянуть, что я использую NHibernate 2.1.2GA с Castle DynamicProxy.
Спасибо!