为什么nHibernate示例代码的许多实例都包含Castle DLL?

为什么nHibernate示例代码的许多实例都包含Castle DLL?,nhibernate,castle,Nhibernate,Castle,在noob对nHibernate的介绍中,我看到了像Castle.DynamicProxy.dll或Castle.Core.dll或Castle.Model.dll这样的文件,以及其他类似的文件,这些文件应该是简单的。这城堡的东西和nHibernate有什么关系?这是教程作者未经建议就把水弄脏了,还是nHibernate真的需要这种额外的跳跃才能运行基本功能?nHibernate使用代理对象实现延迟加载并使用模块。这就是您的实体属性需要是虚拟的原因。因为NHibernate创建代理类来拦截对属性

在noob对nHibernate的介绍中,我看到了像Castle.DynamicProxy.dll或Castle.Core.dll或Castle.Model.dll这样的文件,以及其他类似的文件,这些文件应该是简单的。这城堡的东西和nHibernate有什么关系?这是教程作者未经建议就把水弄脏了,还是nHibernate真的需要这种额外的跳跃才能运行基本功能?

nHibernate使用代理对象实现延迟加载并使用模块。这就是您的实体属性需要是虚拟的原因。因为NHibernate创建代理类来拦截对属性的调用。

从2.1版开始,NHibernate能够使用Castle以外的动态代理提供程序。看见