有没有人设法做到这一点?
基本上我正在寻找以下内容:
<?xml version="1.0"?>
<configuration>
<facilities>
<facility id="nhibernate"
isWeb="false"
type="Castle.Facilities.NHibernateIntegration.NHibernateFacility, Castle.Facilities.NHibernateIntegration"
configurationBuilder="FS.SUV.Services.FluentNHibernateConfigBuilder, FS.SUV.Services">
<factory id="nhibernate.factory">
<settings>
<item key="show_sql">false</item>
<item key="connection.provider">NHibernate.Connection.DriverConnectionProvider</item>
<item key="connection.driver_class">NHibernate.Driver.SqlClientDriver</item>
<item key="dialect">NHibernate.Dialect.MsSql2008Dialect</item>
<item key="connection.connection_string_name">DBConnection</item>
<item key="proxyfactory.factory_class">NHibernate.ByteCode.Castle.ProxyFactoryFactory , NHibernate.ByteCode.Castle</item>
</settings>
</factory>
</facility>
</facilities>
</configuration>
安装它的相应代码是
container
.Install(Castle.Windsor.Installer.Configuration.FromXmlFile("Windsor.config"))
其中 Windsor.config 是上面的 xml。
以流畅的形式
通常你可以做类似的事情
.AddFacility<NHibernateFacility>("NHibernate", cfg=>cfg.FacilityConfig)
但是,从 Intellisense 中的选项来看,尚不清楚是否有任何东西可以从上面的 xml 片段中提供我想要的东西。
我进行了一些搜索,这些搜索返回了以下内容,这些内容要么不起作用,要么引用了以前的版本。我将 NHibernate 2 用于 Castle 的这个项目。
但没有喜悦。谁能帮忙!我知道,我知道我总是可以使用不同的 IOC!但我很好奇是否有其他人遇到过这个问题。我也可以将其保留为 xml,但我更喜欢流畅的配置,因为我可以随意动态设置连接字符串和其他工厂属性。
任何帮助将不胜感激。