В моем приложении мне нужно общаться с несколькими базами данных. Я обрабатываю это в NHibernate, создавая один SessionFactory для каждой базы данных (я полагаю, что это правильно). Итак, у меня есть два набора моделей (по одной на базу данных) и два набора отображений Fluent NHibernate ClassMap<>
. Оба находятся в одном и том же проекте (разделены пространством имен), и я бы хотел оставить его таким.
Проблема возникает при создании SessionFactory. Насколько я вижу, в Fluent NHibernate есть два основных способа добавления сопоставлений:
.Mappings(m => m.FluentMappings.AddFromAssemblyOf<UserClassMap>())
.Mappings(m => m.FluentMappings.Add<UserClassMap>()
Если я использую первую перегрузку, то мои сеансовые фабрики получают все сопоставления для обеих баз данных. Если я использую второе, я должен указать каждый отдельный ClassMap. Я хотел бы что-то вроде FluentMappings.AddFromNamespace()
. Есть ли способ сделать это?