NHibernate 忽略 proxyfactory 属性

发布于 2024-11-04 13:40:10 字数 718 浏览 0 评论 0原文

我从 NH 2.1 / Fluent 1.1 升级到 NH 3.1 / Fluent 1.2。我使用 LinFu 作为代理,但是升级后,无论我配置什么,NH 都会尝试加载 Castle。 我使用 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 但将 castle ddl 放在 bin 目录中工作正常,似乎 NH 忽略了配置。

I upgraded from NH 2.1 / Fluent 1.1 to NH 3.1 / Fluent 1.2. I was using LinFu as proxy, however after the upgrade no matter what I configure NH tries to load Castle.
Im setting Fluent using

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

Also nhibernate.cfg is configured to use linfu:

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

When running the application an exception is raised saying it cant find castle dll's. Using the same nhibernate.cfg but dropping castle ddl's in the bin directory works fine, seems like NH ignores the configuration.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

停顿的约定 2024-11-11 13:40:10

我也有同样的问题。我通过将这一行包含在我的流畅配置中解决了这个问题。

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

如果此答案或此处的任何其他答案对您有帮助,请单击复选标记将其标记为答案。

I had the same problem. I solved it by including this line in my fluent configuration.

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

If this answer or any other answers here help you please mark it as the answer by clicking the check mark.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文