一对多计数

时间:2011-05-11 09:57:13

标签: nhibernate one-to-many

我想知道是否可以用更少的开销来解决这个问题: 给出一个简单的一对多关系Product - >尺寸(产品有一个尺寸)。为了确定为一个尺寸分配了多少产品,我会更新尺寸与产品的映射 - Bag。但是,如果我只对计数感兴趣(不需要任何产品细节),这可以在没有加载所有产品对象的开销的情况下完成吗?

任何tipps的Thx sl3dg3

2 个答案:

答案 0 :(得分:7)

在hbm中使用属性lazy="extra"或在产品集合的流畅映射中使用ExtraLazyLoad()。 使用额外的延迟加载,Products.Count转换为sql'select count'

请参阅corresponding question

答案 1 :(得分:-1)

为什么不创建查询?对Linq这样的东西(当然HQL,条件或QueryOver也应该有效):

int count = session.Query<Product>()
    .Where(x => x.Size != null)
    .Count();