rowCount query.SetFirstResult與0不同時返回0?當我設置SetFirstResult時,Projections.RowCountInt64()返回0
如果pageIndex x pageSize = 0的結果//它給了我rowCount,但是當它不等於0時,countCriteria給我0而不是rowCount。
我該怎麼辦?
在此先感謝
rowCount query.SetFirstResult與0不同時返回0?當我設置SetFirstResult時,Projections.RowCountInt64()返回0
如果pageIndex x pageSize = 0的結果//它給了我rowCount,但是當它不等於0時,countCriteria給我0而不是rowCount。
我該怎麼辦?
在此先感謝
第一件事是使用sqlprofiler,並檢查是越來越執行的SQL。也許有什麼問題。我在標準中看不到錯誤。
我已經解決了我的問題。事情是,有一個Nhibernate車隊工作人員約CriteriaTransformer.TransformToRowCount。它不會返回int。
而且我做錯了什麼上面,我試圖讓有限的結果集的行數(上SetFirstResult和SetMaxResult設置好的查詢)
ISession session = NHibernateHttpModule.CurrentSession;
var countCriteria = CriteriaTransformer.TransformToRowCount(query);
rowCount = Convert.ToInt64(countCriteria.GetExecutableCriteria(session).UniqueResult());
query.SetMaxResults(pageSize).SetFirstResult(pageIndex * pageSize);
var customers = query.GetExecutableCriteria(session).List<Customer>();
這是我之情況的解決方案。我希望它能幫助有同樣問題的人。
Thaks
我檢查sqlprofiler上的sql,但我無法弄清楚。我發佈了正在執行的SQL。 謝謝 – 2009-01-12 12:15:38