Che*_*ian 5 orm design-patterns eager lazy-evaluation
延迟执行几乎总是一个福音.但是有些情况下,这是一个问题,你诉诸"获取"(在Nhibernate)急切地获取它.
你知道懒惰的评价可以咬你的实际情况吗?
延迟加载资源涉及每次加载的请求者和源之间的来回行程。对于 NHibernate,这意味着从应用程序到数据库(通常位于不同的服务器上)。
每次行程通常都会产生相关开销(对于 NHibernate 或任何其他数据库查询来说肯定存在)。
如果您知道您将需要全部或大部分数据,那么您最好一次性提取它,并且只产生一次开销。
一个典型的例子是,当您需要拉回对象列表以填充组合框时(通常这些对象是配置对象)。每次将列表成员添加到组合框时,延迟加载都会返回到数据库。由于您将整个列表放入组合框中,因此您会因延迟获取每个对象而产生大量额外的开销。
| 归档时间: |
|
| 查看次数: |
1093 次 |
| 最近记录: |