【发布时间】:2011-12-03 07:34:43
【问题描述】:
我有以下代码,我从统计表汇总拍卖统计数据并返回拍卖以及总计数(每次拍卖的统计表中可能有多行...)
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[]>();
查询本身似乎工作正常 - 除了返回的 Auction 被延迟评估,导致 SELECT N+1 场景。谁能提供有关如何热切评估该领域的建议?
提前致谢
日本
【问题讨论】:
标签: nhibernate aggregate eager-loading