0
我有以下代码,我从统计表中聚合了拍卖统计信息,并返回了拍卖以及总计数(每个拍卖可能有多个统计表中的行.. )NHibernate - 在聚合时急切加载分组对象
var stats = _session.QueryOver<AuctionStatistic>()
.Select(
Projections.Group<AuctionStatistic>(s => s.Auction),
Projections.Sum<AuctionStatistic>(s => s.BidCount),
Projections.Sum<AuctionStatistic>(s => s.ViewCount),
Projections.Sum<AuctionStatistic>(s => s.SearchCount)
)
.OrderBy(Projections.Sum<AuctionStatistic>(s => s.ApplicationCount)).Desc
.Fetch(x => x.Auction).Eager
.Take(take)
.List<object[]>();
查询本身似乎工作正常 - 除了返回的拍卖延迟评估,导致SELECT N + 1场景。任何人都可以提供关于如何热切评估这个领域的建议吗?
在此先感谢
JP
但这并不带回我的统计,它只是带来支持拍卖自己......对吗? –
它将拍卖放入一级缓存 - 避免您在访问拍卖时出现SELECT N + 1问题。您应该在第一个之后运行该查询。请注意,我不会将结果放入任何内容 - 实质上只是将它们放入缓存中供以后访问。 – Goblin