0

在我的 ASP.NET MVC 3 项目中,我使用 Nhibernate,因为我引用了两个 DLL,即——

1.LinFu.DynamicProxy.dll

2.NHibernate.ByteCode.LinFu.dll

我不知道这两个 DLL 的用途,即使我删除这两个 DLL 的引用然后项目构建成功。那么这些DLL有什么用呢?

另外,在hibernate-configuration我有类似的条目 -

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

它告诉了什么?

4

1 回答 1

2

1) NHibernate 中有一个突发新闻2.1

从 NH2.0.xGA 到 NH2.1.0 的重大变化

如果您现在想使用 LinFu.DynamicProxy 进行延迟加载,您必须部署 NHibernate.ByteCode.LinFu.dll

它引入了不仅使用 Castle 作为代理生成器的可能性。

2) NHibernate3.2引入了另一个 chang。此发行版本身包含代理生成器,无需安装它LinFu。因此,如果您运行的是 NH 3.2+,则不需要 LinFu

如果您有版本2.1- 3.1:那么(在运行时)NHibernate 将加载您在配置中指定的代理生成器:

<session-factory name="NHibernate.Test">
...
 <property name="proxyfactory.factory_class">
    NHibernate.ByteCode.LinFu.ProxyFactoryFactory
   , NHibernate.ByteCode.LinFu
</property>
...

构建时不需要这个库(它只实现接口)。但是,如果您将升级到 NH 3.2+,您就不必再解决它了...

于 2013-01-24T05:05:09.797 回答