Nhibernate выдает "Не удалось инициализировать прокси - нет сеанса", когда вызывается много раз быстро - PullRequest
0 голосов
/ 06 сентября 2011

У меня проблема с поведением выборки по умолчанию в NHibernate:

Ленивое извлечение

Ленивое извлечение позволяет вам решить, какая часть графа объектазагружен при первом попадании в базу данных и какие ассоциации следует загружать только при первом обращении к ним.Ленивое извлечение - это основополагающая концепция постоянства объектов и первый шаг к достижению приемлемой производительности.

определение из: Nhibernate In Action, 2008

Проблема:

Например, у меня есть кнопка «Отправить», и я нажимаю ее много раз.На стороне сервера я извлекаю объекты с помощью навигации по графу объектов, например:

User us = new GetUserById(userId);
if (us.Address.Street != null)

, где у одного пользователя есть один адрес в схеме БД.

Первый щелчок работает правильно,но если я щелкну по нему быстрее, произойдет исключение: «Не удалось инициализировать прокси - нет сеанса».Nhibernate

Есть ли способ обойти это поведение?

спасибо,

Tito Morais

1 Ответ

0 голосов
/ 09 июля 2012

вы можете использовать нетерпеливую загрузку.см. ссылку ниже:

http://nhibernate.info/doc/howto/various/lazy-loading-eager-loading.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...