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