Я пытаюсь разделить конфигурацию в Fluent NHibernate между двумя библиотеками классов (dll). Первая библиотека классов будет настраивать определенные слушатели в NHibernate (для аудита и безопасности), а вторая будет отображать / автоматически отображать сущности. Есть какие-нибудь хорошие идеи о том, как передавать конфигурацию Fluent между библиотеками? Одна из моих идей - использовать Castle Windsor (уже часть моей инфраструктуры) и установщики для передачи конфигурации через контейнер между библиотеками. Звучит разумно?
Конфигурация разделения в Fluent NHibernate
Ответы (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
Контейнер здесь, я полагаю, является объектом Виндзорского замка?
- person Konstantin; 24.06.2011
@Konstantin код является производным кода, который я написал. Используемый контейнер находится под влиянием Касла, но моя собственная абстракция.
- person Firo; 24.06.2011
Я пошел вашим путем, вытащив сервисы с вкладом config / mappings из контейнера IOC
- person Konstantin; 28.06.2011