我偶然发现了以下问题:我想从配置文件配置DB,但映射流利(!喜欢)的配置代码如下所示:从文件混合DB配置与功能NHibernate映射
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。我看着在流利的代码,我可能是错的,但它看起来像他们在PersistenceConfiguration的构造覆盖在PersistenceConfiguration.cs(50行)这个属性:
values[ProxyFactoryFactoryClassKey] = DefaultProxyFactoryFactoryClassName;
不流利的需要城堡?或者可能是我做错了什么,或者这只是一个错误?
谢谢。
当然,但想法是从配置文件中配置数据库(这样我可以在部署过程中更改conn.strings,db-s等),并将映射保留为流畅(有一个很好的强类型,编译时可验证的映射)。 – Val 2011-05-19 15:56:15