NHibernate:子集合计数和子集合属性的急切获取

时间:2010-11-22 12:07:20

标签: c# nhibernate

我刚刚开始使用NHibernate,我遇到了2个问题。我需要在我的聚合根中获取一个子集合的行计数,并且想知道这样做的最佳方法。到目前为止,我的查询有以下内容:

 var query = QueryOver.Of<Idea>()
             .Where(i => i.Status != IdeaStatus.Completed)
             .Fetch(x => x.Category).Eager
             .Fetch(x => x.Comments).Eager
             .Fetch(x => x.Votes).Eager
             .Fetch(x => x.CreatedBy).Eager
             .OrderBy(i => i.Created).Desc.Cacheable();

        if (Category != 0)
            query = query.Where(i => i.Category.Id == Category);

我需要一个评论集合,而不是急切地取回所有项目。我在我的Idea实体上有一个名为CommentCount的属性,我希望从中填充这个属性。第二个问题是我急切地想要获得一个想法的所有投票,但是当我为每个想法迭代投票时,它似乎再次查询数据库 - 我想这是因为我有一个CreatedBy属性引用一个用户实体 - 所以我想知道如何指定我希望子集合中的CreatedBy属性也被急切地提取。

非常感谢提前。

0 个答案:

没有答案