【问题标题】:Has anyone managed to write a fluent version of adding the Castle NHibernate Facility?有没有人设法编写添加城堡 NHibernate 设施的流利版本?
【发布时间】:2012-07-06 23:19:14
【问题描述】:

有人能做到吗?

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

<?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 sn-p 中得到的东西。

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

Tuna Toksoz post

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

任何帮助将不胜感激。

【问题讨论】:

    标签: c# nhibernate fluent-nhibernate castle-windsor windsor-nhfacility


    【解决方案1】:

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

    您使用 FluentNHibernate 对其进行配置,然后您可以拥有每事务会话、每网络请求会话或会话瞬态生活方式。

    【讨论】:

      【解决方案2】:

      据我所知,没有人完成流畅界面的实现。它肯定不在code repository 中。这让有机会实施它并将其贡献给项目!如果您愿意,请与 Tuna 联系。

      否则,请记住 Windsor 配置可以以编程方式构建。它可能不如流畅的界面漂亮,但也不是 XML。 Here's an example 正在以编程方式配置 NHibernate 工具。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-03
      • 1970-01-01
      相关资源
      最近更新 更多