NHibernate之旅(12):初探延迟加载机制2010-07-23 cnblogs 李永京节内容引入延迟加载实例分析1.一对多关系实例2.多对多关系实例结语引入通过前面文章的分析,我们知道了如何使用NHibernate,比如CRUD操作、事务、一对多、多对多映射等问题,这篇我们初步探索NHibernate中的加载机制。在讨论之前,我们看看我们使用的数据模型,回顾一下第二篇建立的数据模型。

Customer与Orders是一对多关系,Order与Product是多对多关系。这一篇还是使用这个模型,有关具体配置和映射参考本系列的文章。延迟加载(Lazy Loading)延迟加载按我现在的理解应该叫“视需要加载(load-on-demand)”,“(delayed loading)”,“刚好及时加载(just-in-time loading)”在合适不过了。这里按字面理解延迟仿佛变成了“延迟,延长,拖延时间”的意思。NHibernate从1.2版本就默认支持了延迟加载。其实延迟加载的执行方式是使用GoF23中的代理模式,我们用一张图片来大致展示延迟加载机制。