3

我在应该很简单的项目中看到了诸如 Castle.DynamicProxy.dll 或 Castle.Core.dll 或 Castle.Model.dll 之类的文件以及其他类似的文件,这是新手对 nHibernate 的介绍。这个 Castle 的东西和 nHibernate 有什么关系?这是教程作者的不明智的混淆,还是 nHibernate 真的需要这种额外的跳圈才能让基础知识运行起来?

4

1 回答 1

7

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

于 2011-02-28T04:11:30.703 回答