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