Я наткнулся на следующую проблему: я хотел настроить БД из конфигурационного файла, но сопоставления бегло (очень нравится!) Код конфигурации выглядит следующим образом:
var cfg = new Configuration();
cfg.Configure();
var fluentCfg = Fluently.Configure(cfg)
.Mappings(
m => m
.FluentMapping
.AddFromAssembly(Assembly.GetExecutingAssembly));
Однако файл конфигурации имеет свойство:
<property name="proxyfactory.factory_class">
NHibernate.ByteCode.LinFu.ProxyFactoryFactory,
NHibernate.ByteCode.LinFu
</property>
и после cfg.Configure (); все выглядит хорошо, конфигурация указывает поставщику байт-кода LinFu, НО после третьей строки я вижу, что конфигурация изменена на использование Castle. Я посмотрел код Fluent и могу ошибаться, но похоже, что они переопределяют это свойство в PersistenceConfiguration.cs (строка 50) в конструкторе PersistenceConfiguration:
values[ProxyFactoryFactoryClassKey] = DefaultProxyFactoryFactoryClassName;
Свободно ли требуется Замок? Или, может быть, я что-то не так делаю, или это просто ошибка?
Спасибо.