Проблема с WebDev при работе с Nhibernate - PullRequest
0 голосов
/ 09 июня 2009

У меня есть библиотека классов Nhibernate и веб-приложение, которое ссылается на нее. Я могу получить данные из таблицы Product, и это нормально, но когда я обновляю их, я получаю эту проблему. См. Изображение ниже:

http://vi -vn.com / pubs / images / NhibernateWeb.jpg (Мертвая ссылка)

Есть ли способ исправить его проблему?

1 Ответ

1 голос
/ 10 июня 2009

Изображения сообщений об ошибках, которые вы связали, указывают мне, что вы, вероятно, пытаетесь получить доступ к сеансу после того, как он уже был закрыт. Это обычно происходит при попытке получить доступ к загруженным лентам / ссылкам. Например:

class MyObject
{
    public virtual IList<MyOtherObject> MyObjects { get; set; }
}

MyObject obj = session.Load<MyObject>(1);

// Some stuff happens, the session is explicitly closed or goes out of scope

// Later, obj is still tied to the (now closed) session but code tries to:
int count = obj.MyObjects.Count; // MyObjects is lazy-loaded, NHibernate tries to query

NHibernate видит, что коллекция MyObjects загружена с отложенной загрузкой и еще не инициализирована, поэтому он пытается запросить коллекцию через сеанс, с которым он связан. Однако этот сеанс уже закрыт, поэтому он выдает ObjectDisposedException и говорит: «Сессия закрыта!»

Решение состоит в том, чтобы либо предварительно загрузить свою коллекцию, либо убедиться, что сеанс не выходит за рамки или явно удаляется до того, как вы закончите с ним.

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