У меня есть отношение многие-к-одному, когда в дочерней таблице могут быть сотни тысяч записей. В этом случае вызов Parent.ChildCollection.Count приводит к отложенной инициализации дочерней коллекции, что является чрезвычайно дорогостоящим.
В 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 "/>
но я больше не могу ими пользоваться, потому что сейчас я делюсь этой библиотекой, и у нее проблемы с производительностью для других пользователей.