当我设置 SetFirstResult 时 Projections.RowCountInt64() 返回 0
当 query.SetFirstResult 与 0 不同时,rowCount 返回 0 ?
如果 pageIndex x pageSize = 0 的结果 // 它给我 rowCount 但当它不等于 0 时,countCriteria 给我 0 而不是 rowCount。
我能做些什么 ?
提前致谢
rowCount returns 0 when query.SetFirstResult is different from 0 ?
if the result of pageIndex x pageSize = 0 // it gives me the rowCount but when it is not equal to 0, countCriteria gives me 0 instead of rowCount.
What can i do ?
Thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先是使用 sqlprofiler 并检查正在执行的 sql。 也许这有什么问题。 我看不出标准有什么问题。
First thing would be to use a sqlprofiler and check the sql that is getting executed. Maybe there's something wrong with that. I can't see something wrong in the criteria.
我已经解决了我的问题。 问题是,Nhibernate 在 CriteriaTransformer.TransformToRowCount 方面存在一个有缺陷的工作人员。 它返回 int 不长。
我上面做错的是,我试图获取有限结果集的行数(设置 SetFirstResult 和 SetMaxResult 的查询),
这是我的场景的解决方案。 我希望它可以帮助有同样问题的人。
他克斯
I have solved my problem. The thing is, there is a buggy staff with Nhibernate about CriteriaTransformer.TransformToRowCount. It returns int not long.
And what i did wrong above is, i was trying to get the row count of limited result set(the query on which SetFirstResult and SetMaxResult setted)
This is the solution for my scenerio. I hope it helps someone who has the same issue.
Thaks