NHibernate.ByteCode.LinFu.dll的使用

时间:2013-01-24 04:28:39

标签: nhibernate

在我的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>

它告诉了什么?

1 个答案:

答案 0 :(得分:2)

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

  

从NH2.0.xGA到NH2.1.0的突然变化

     

如果你想在LinFu.DynamicProxy上使用延迟加载工作,你必须部署NHibernate.ByteCode.LinFu.dll

引入可能性的

不仅使用Castle作为代理生成器。

2)NHibernate 3.2引入了另一个变化。此分发本身包含代理生成器,无需安装它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+,则不必再解决它了......