rowCount 返回0?
如果pageIndex x pageSize = 0的结果//它给了我rowCount但是当它不等于0时,countCriteria给我0而不是rowCount。
我该怎么办?
提前致谢
答案 0 :(得分:0)
首先要使用sqlprofiler并检查正在执行的sql。也许这有点不对劲。我不能在标准中看到错误。
答案 1 :(得分:0)
我已经解决了我的问题。问题是,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