Конфигурация разделения в Fluent NHibernate

Я пытаюсь разделить конфигурацию в Fluent NHibernate между двумя библиотеками классов (dll). Первая библиотека классов будет настраивать определенные слушатели в NHibernate (для аудита и безопасности), а вторая будет отображать / автоматически отображать сущности. Есть какие-нибудь хорошие идеи о том, как передавать конфигурацию Fluent между библиотеками? Одна из моих идей - использовать Castle Windsor (уже часть моей инфраструктуры) и установщики для передачи конфигурации через контейнер между библиотеками. Звучит разумно?


person Konstantin    schedule 23.06.2011    source источник


Ответы (1)


У меня есть аналогичный сценарий, где настраиваются сопоставления в другом месте. Я не передаю конфигурацию, я просто беру сопоставления в целом от разных провайдеров.

Например:

Fluently.Configure()
   .Mappings(m => m.AutoMappings.Add(Container.Resolve<IAutoMapProvider>().Get())



public class AutoMapProvider : IAutomapProvider
{
    ...
    public static AutoPersistenceModel Get()
    {
        return AutoMap
            .AssemblyOf<MyObjectBase>(new MyConfiguration())
            .IgnoreBase<MyObjectBase>()
            .Conventions.Setup(c =>
       // ...
    }
}
person Firo    schedule 23.06.2011
comment
Контейнер здесь, я полагаю, является объектом Виндзорского замка? - person Konstantin; 24.06.2011
comment
@Konstantin код является производным кода, который я написал. Используемый контейнер находится под влиянием Касла, но моя собственная абстракция. - person Firo; 24.06.2011
comment
Я пошел вашим путем, вытащив сервисы с вкладом config / mappings из контейнера IOC - person Konstantin; 28.06.2011