Второй вариант будет наиболее подходящим.
Бесполезно извлекать все экземпляры за один раз, когда вы (пользователь), возможно, даже не «используете» все эти экземпляры.
Если класс Person является «тяжелым» классом с большим количеством ассоциаций, было бы еще лучше создать класс PersonView, который содержит только те свойства, которые вы хотите отобразить в Grid.
Вам не нужно отображать этот PersonView
класс, вам просто нужно «импортировать» его, чтобы NHibernate знал о его существовании.Затем вы создаете запрос к классу Person
и определяете, что AliasToBean Transformer
должен использоваться для преобразования экземпляров Person
в экземпляры PersonView.
Таким образом, NHibernate сможетсгенерировать запрос, который извлекает только необходимые столбцы из БД и заполнит его PersonView
экземплярами.