繁体   English   中英

是否有人设法写一个流畅的版本来添加Castle NHibernate Facility?

[英]Has anyone managed to write a fluent version of adding the Castle NHibernate Facility?

有没有人设法做到这一点?

基本上我正在寻找以下内容:

<?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代码片段中提供我想要的内容。

我进行了一些搜索,这些搜索返回了以下内容,这些内容要么无效,要么引用以前的版本。 我正在为Castle这个项目使用NHibernate 2。

金枪鱼Toksoz帖子

但是没有喜悦。 谁能帮忙! 我知道,我知道我总是可以使用其他IOC! 但是我很好奇是否有人遇到过这个问题。 我也可以将其保留为xml,但我更喜欢流利的配置,因为这样我就可以随意动态设置连接字符串和其他工厂属性。

任何帮助将不胜感激。

是的, https://github.com/haf/Castle.Facilities.NHibernate上有一个流畅的NHibernate设施。

您可以使用FluentNHibernate对其进行配置,然后可以进行每次事务会话,每个Web会话请求或临时会话生活方式。

据我所知,没有人完成流利的界面。 它肯定不在代码存储库中 这使有机会实施它并为项目做出贡献! 如果愿意,请与金枪鱼保持联系。

否则,请记住, 可以通过编程方式来构建Windsor配置。 它可能不如流畅的界面,但也不是XML。 这是通过编程配置NHibernate工具的示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM