Для проекта ASP.Net я использую (Свободно) NHibernate для персистентности и JQGrid для отображения данных в таблице. Но когда я хочу использовать функцию автозаполнения JQGrid, я получаю System.ArgumentException: Column 'HibernateLazyInitializer' does not belong with this table.
при получении данных в запросе AJAX.
Но эта ошибка возникает только время от времени, и когда какой-то прокси-класс используется в списке. Поэтому я думаю, что это как-то связано с ленивой загрузкой NHibernate.
protected new void Page_Load(object sender, EventArgs e)
{
base.Page_Load(sender, e);
_jqAutoComplete.DataSource = Session.CreateCriteria<Domain.Brand>()
.List<Domain.Brand>();
_jqAutoComplete.DataBind();
}
Обычно ленивая загрузка - довольно крутая функция. Только в этом случае это приводит к ошибке, и поэтому я не хочу отключать ее во всем проекте. Итак, есть ли способ изменить CreateCriteria, чтобы не использовать LazyLoading, а EagerLoading в этом случае?
Или я что-то пропустил?
Если есть хороший урок для понимания LazyLoading, я тоже был бы рад.