NHibernate忽略proxyfactory属性

本文关键字:属性 proxyfactory 忽略 NHibernate | 更新日期: 2023-09-27 17:53:48

我从NH 2.1/Fluent 1.1升级到NH 3.1/Fluent 1.2。我使用LinFu作为代理,但升级后无论我配置NH试图加载城堡。我正在使用

设置Fluent
 Configuration _Configuration;
 FluentConfiguration _FluentConfig;
 _Configuration = new Configuration();
 _Configuration.Configure();
 _FluentConfig = Fluently.Configure(_Configuration)
 .Mappings(m => m.FluentMappings.AddFromAssemblyOf<FluentNHSession>()))

nhibernate.cfg配置为使用linfu:

  <property name="proxyfactory.factory_class">NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu</property> 

当运行应用程序时,会抛出一个异常,说它找不到castle dll。使用相同的nhibernate.cfg,但在bin目录中删除castle ddl可以正常工作,看起来NH忽略了配置。

NHibernate忽略proxyfactory属性

我也遇到了同样的问题。我通过将这条线包含在流畅型中来解决它。

sessionFactory = Fluently.Configure(normalConfig)
              .Mappings(m =>
                  m.FluentMappings
                  .AddFromAssemblyOf<OrderHeaderMap>()
                  .Conventions.AddFromAssemblyOf<PascalCaseColumnNameConvention>())
               .ProxyFactoryFactory("NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu")
              .BuildSessionFactory();

如果这个答案或这里的任何其他答案对你有帮助,请点击选中标记作为答案。