S # arp Architecture / NHibernate с несколькими базами данных - PullRequest
1 голос
/ 27 августа 2009

Я использую S # arp Architecture (которая использует NHibernate). У меня есть некоторые сущности, сопоставленные с таблицами в одной базе данных, а другие сопоставлены с другой базой данных. Раскрытие информации: базы данных уже существуют, поэтому я не могу сначала сделать модель.

Как мне настроить это на работу?

РЕДАКТИРОВАТЬ: Будет ли метод SchemaIs в Fluent NHibernate быть рекомендуемым подходом для сопоставления объекта в таблицу в другой базе данных? Я полагаю, что это возможно и через файлы сопоставления xmp NHib.

Ответы [ 2 ]

3 голосов
/ 07 июня 2011

Вместо дополнительной базы данных вы должны использовать NHibernateSession.AddConfiguration. Вызов NHibernateSession.AddConfiguration немедленно отправляется в NHibernateSession.Init (). Явный ключ фабричной сессии должен быть определен для второй инициализации.

Весь процесс объясняется здесь подробно.

https://github.com/sharparchitecture/sharp-architecture/wiki?Page=FAQ

2 голосов
/ 27 октября 2009

Способ, которым я это сделал, - инициализировать несколько NHibernateSessions в InitializeNHibernateSession в global.asax.cs, используя несколько конфигурационных файлов nhibernate. Затем я использовал [Transaction ("nhibernate.dbname")] (dbname - это имена, назначенные для WebSessionStorages) в контроллерах для каждого подходящего метода действия.

...