NHibernate Исключение - PullRequest
       1

NHibernate Исключение

2 голосов
/ 24 октября 2010

Я работаю над проектом, который использует NHibernate. Моя проблема, когда я пытаюсь добавить объект, который содержит список объектов, я получаю следующее исключение:

Недопустимая попытка связать коллекцию с двумя открытыми сеансами из метода Session.Save

Я не знаю, в чем проблема или как ее решить, пожалуйста, если кто-нибудь может помочь, я буду признателен.

Ответы [ 2 ]

5 голосов
/ 24 октября 2010

У вас проблемы с управлением сеансом. Похоже, что вы используете объект из одного сеанса в качестве элемента коллекции в коллекции из другого сеанса. Использование нескольких параллельных сессий обычно не является хорошей практикой (по крайней мере, не из одного потока).

Читайте об Единице работы здесь; http://www.nhforge.org/wikis/patternsandpractices/nhibernate-and-the-unit-of-work-pattern.aspx.

Существует отличная и бесплатная реализация этого в Rhino.Commons, вы можете прочитать об этом здесь: http://ayende.com/blog/archive/2007/06/08/rhino-commons-repositorylttgt-and-unit-of-work.aspx.

0 голосов
/ 24 октября 2010

Кажется, что объекты, которые вы пытаетесь добавить, были загружены из другого сеанса, в котором объект назначения, к которому вы их присоединяете.

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