在我的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>
它告诉了什么?
答案 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+,则不必再解决它了......