我有一个多对一的关系,其中子表可以包含数十万条记录。在这种情况下,调用Parent.ChildCollection.Count强制进行子集合的延迟初始化,这非常昂贵。使用NHibernate 2.0.1实现类似于lazy =“extra”的功能的最佳方法
在Hibernate 3.0中有一个特性lazy =“extra”,它允许你检查集合属性的一个子集而不需要延迟加载整个事物。
不幸的是,这将不会提供,直到NHibernate 2.1,仍然在阿尔法。 http://jira.nhibernate.org/browse/NH-855
我该如何使用NHibernate 2.0.1来完成这项工作?
我曾经有特殊的属性,如该
<property name="ChildCollectionCount" type="int" formula="(select count(*) from ChildTable child where child.parentID = parentID "/>
,而是因为我现在分享这个库及其对其他用户的性能问题,我不能再使用这些。
升级到NHibernate 3并关闭此问题? – 2010-12-16 17:59:24