Hos*_*ein 1 sql datagrid linq-to-sql
我在我的SQLServer数据库中有一个表,其中有几乎100K的记录,还有一个Web应用程序,我想在其中显示这些行的分页gridView表示.显然,我应该过滤行并将其中的一小部分返回给客户端(因为Web上的Ajax性能).
这是我的主要问题.选择中间行的最佳方法是什么?例如,如何选择#50000到#50010的行?是否有类似于select top 10或select bottom 10从表行中间选择行的方法.
我在.NET MVC Web应用程序中使用linq2sql,也可以编写SQL StoredProcedures代码.
任何建议将不胜感激.
不确定abt,但无论如何
SELECT *
FROM (SELECT ROW_NUMBER() OVER(ORDER BY colm) RowNumr, colm FROM table) t
WHERE RowNumr BETWEEN 50000 AND 50010
Run Code Online (Sandbox Code Playgroud)
在Linq2Sql这并不难.您可以使用:
dataContext.GetTable()
.Skip(50000)
.Take(10)
.ToList();
Run Code Online (Sandbox Code Playgroud)
Scott Guthrie有一篇关于此事的帖子,其中有更多解释.并且Linq2Sql实际上会生成sql使用ROW_NUMBER().
一些小提示,表达式的顺序很重要:
.Where().Select().OrderBy().Skip().Take()| 归档时间: |
|
| 查看次数: |
3228 次 |
| 最近记录: |