【发布时间】:2025-12-31 13:25:06
【问题描述】:
:)
我有以下课程:
-
不喜欢
- 不喜欢的评论(评论)
- MemberId (int)
-
评论
- 不喜欢 (List
) - 文本(字符串)
- ArticleId (int)
- 不喜欢 (List
(为简洁起见省略了额外的属性)
这些类是使用 Fluent NHibernate 以预期的方式映射的(在注释列表中具有逆向)。现在我希望 NHibernate 在加载评论时在评论上加载 Dislikes 集合的大小,但不加载整个集合。我非常想避免使用公式(yuk @ native sql),我更希望 NHibernate 只触发一个查询。这有可能吗?
我知道 Extra Lazy 功能,但据我所知,这会触发一个额外的查询,这对于数百个 cmets 的列表并不是最佳的。
【问题讨论】:
-
只是为了澄清,您要求在不加载整个图表的情况下计算孩子(不喜欢)的数量?
-
@Rippo,是的,我只需要不喜欢计数。
-
在这种情况下,lazy="extra" 是您的最佳选择。
标签: sql linq nhibernate hql