Синхронизация NHibernate Session с базой данных - обратный путь - PullRequest
2 голосов
/ 07 января 2010

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

Так что в основном мне нужен способ определить, существует ли недавно созданный объект в базе данных, который не был извлечен ранее сессией ISession, и если нет, то извлечь этот новый объект из базы данных. Другими словами, мне нужно синхронизировать мой сеанс с базой данных, как метод flush, но в обратном порядке.

Кто-нибудь может мне помочь?

Ответы [ 2 ]

4 голосов
/ 07 января 2010

Метод публикации / подписки хорошо работает для этого. Ознакомьтесь с частью «Publishing Events» примера настольного приложения Ayende . По сути, после добавления нового элемента вы публикуете эту информацию, и другие части вашего приложения, которые подписались, могут соответствующим образом обновить свои списки.

1 голос
/ 27 января 2010

Вы идете по пути к NHibernate Ад.

Обязательно проработайте свою инфраструктуру (т.е. определите интерфейсы, определите шаблоны управления сеансами и шаблон уведомлений) и изолируйте эти некоммерческие утилиты от остальной части вашего кода до , используя NHibernate для их реализации.

Удачи.

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