我刚刚开始使用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属性也被急切地提取。
非常感谢提前。