使用LINQ to SQL获取分页结果的最佳模式是什么?
我有以下场景:
假设我想按描述搜索项目表.我可以轻松地做到:
public IQueryable<Item> FindItemsByDescription(string description)
{
return from item in _dc.Items
where item.Description.Contains(description);
}
Run Code Online (Sandbox Code Playgroud)
现在,对这个结果集进行分页的最佳方法是什么?
是否有LINQ to SQL常用模式来执行此操作?
编辑:我必须澄清一件小事.我知道Take和Skip方法.但是,在使用Take和Skip之前,我应该如何获得查询将检索的结果总数?
我无法找到一种方法来完成这项工作,并希望有人有一个想法.一个简化的例子是有一个整数列表1-100,我想分组每3行所以结果将是1,2,3在第一组然后4,5,6在下一组等我知道如何获取每个第n条记录,但我需要的是所有记录,以便我可以使用first,last,sum,max等聚合它们.
谢谢!
我在Microsoft SQL Server 2008 R2中有一个包含3亿行的表.日期列上有一个聚簇索引,[DataDate]这意味着整个表按日期列排序.
如何将此表中的数据流式传输到10000行的.NET应用程序中?
环境:
select * from这样会选择整个表(它的50GB - 它不适合内存).