2
我正在動態構建一個需要實現分頁的nhibernate投影查詢。喜歡的東西...集合分頁投影nhibernate查詢的總計結果
var projections = Projections.ProjectionList();
foreach (var p in projection.Projections)
{
IProjection newProjection = null;
switch (p.AggregateFunc)
{
case AggregateFuncTypeEnum.GroupProperty:
newProjection = Projections.GroupProperty(p.Path);
break;
case AggregateFuncTypeEnum.Sum:
newProjection = Projections.Sum(p.Path);
break;
default:
newProjection = Projections.Property(p.Path);
break;
}
projections.Add(newProjection, p.Name);
}
criteria.SetProjection(projections).SetResultTransformer(new AliasToBeanResultTransformer(projectionType));
我能得到前15分的結果,像這樣
criteria.SetFirstResult(0);
criteria.SetMaxResults(15);
var results = criteria.List();
但我也需要發送另一個查詢來獲取的記錄總數,但到目前爲止,我已經失敗弄清楚這一點。該投影仍然需要應用,即如果結果按'代碼'分組並且'成本'之和那麼100條記錄可能返回20行,並且這是我感興趣的20條。
我該如何獲得將返回的記錄總數?由於
這似乎仍然返回例如計數100而不是由投影返回的20行(例如,按'代碼'分組並且總和爲'成本') – Adam
'rowcount.SetProjection(Projections.Count(goupprojections))'應該做imo,我會檢查至少在 – Firo
看起來應該但不適合我。使用你的想法,我可以選擇一個屬性來使用CountDistinct進行分組,但這隻接受一個屬性 – Adam