相关疑难解决方法(0)

使用LINQ to SQL进行分页搜索结果

使用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)

现在,对这个结果集进行分页的最佳方法是什么?

  1. 我应该在执行此操作之前执行计数查询以查找结果集大小,然后根据我的需要限制此查询吗?我觉得这是要走的路.
  2. 我应该执行完整查询,从数组大小中获取计数并仅返回此数组中的分页子集吗?如果结果集足够大,我觉得这会浪费很多时间......或者LINQ to SQL在这里做了些什么?

是否有LINQ to SQL常用模式来执行此操作?

编辑:我必须澄清一件小事.我知道Take和Skip方法.但是,在使用TakeSkip之前,我应该如何获得查询将检索的结果总数

c# linq pagination linq-to-sql

21
推荐指数
1
解决办法
2万
查看次数

如何使用Linq对每N行进行分组

我无法找到一种方法来完成这项工作,并希望有人有一个想法.一个简化的例子是有一个整数列表1-100,我想分组每3行所以结果将是1,2,3在第一组然后4,5,6在下一组等我知道如何获取每个第n条记录,但我需要的是所有记录,以便我可以使用first,last,sum,max等聚合它们.

谢谢!

c# linq group-by

18
推荐指数
2
解决办法
1万
查看次数

如何将行从SQL Server表流式传输到.NET应用程序中,行数为10000行?

我在Microsoft SQL Server 2008 R2中有一个包含3亿行的表.日期列上有一个聚簇索引,[DataDate]这意味着整个表按日期列排序.

如何将此表中的数据流式传输到10000行的.NET应用程序中?

环境:

  • 使用C#.
  • 必须能够在任何时候暂停数据流,以允许客户端处理行.
  • 不幸的是,不能使用select * from这样会选择整个表(它的50GB - 它不适合内存).

.net c# sql sql-server-2008

2
推荐指数
1
解决办法
4278
查看次数

标签 统计

c# ×3

linq ×2

.net ×1

group-by ×1

linq-to-sql ×1

pagination ×1

sql ×1

sql-server-2008 ×1