相关疑难解决方法(0)

使用SQL Server进行NHibernate分页

当使用SetFirstResult(start)SetMaxResults(count)实现分页的方法时,我注意到生成的查询只执行a select top count * from some_table并且它不考虑start参数或至少不考虑数据库级别.看来如果我指示NHibernate执行以下查询:

var users = session.CreateCriteria<User>()
                   .SetFirstResult(100)
                   .SetMaxResults(5)
                   .List<User>();
Run Code Online (Sandbox Code Playgroud)

105条记录将在数据库服务器和应用程序之间传输,这将记录前100条记录.对于包含许多行的表,这可能是个问题.

我已经验证了使用SQLite数据库NHibernate利用OFFSETLIMIT关键字来过滤数据库级别的结果.我知道在SQL Server 2000中没有等效的OFFSET关键字和Oracle ROWNUM,但有没有解决方法?SQL Server 2005/2008怎么样?

nhibernate paging sql-server-2000

13
推荐指数
2
解决办法
5097
查看次数

标签 统计

nhibernate ×1

paging ×1

sql-server-2000 ×1