用LINQ to SQL得到分页结果的最佳模式是什么?用LINQ to SQL分页搜索结果
我有以下情形:
假设我想描述搜索项目表。我可以很容易地做到:
public IQueryable<Item> FindItemsByDescription(string description)
{
return from item in _dc.Items
where item.Description.Contains(description);
}
现在,将这个结果集分页的最佳方法是什么?
- 我应该这样做是为了找出结果集的大小,然后按照我想要的限制此查询之前执行计数查询?我觉得这是要走的路。
- 我是否应该执行完整查询,从数组大小中获取计数并仅返回此数组中的分页子集?如果结果足够大,我觉得这会浪费大量时间......或者是在这里做一些魔术?
是否有LINQ to SQL执行此操作的常见模式?
编辑:我必须澄清一件小事。我意识到Take和Skip方法。但是,在使用以和跳过,我该如何得到总计数查询结果会检索?
Pablo - 我更新了我的文章,包括更多关于分页的信息。 (Salu2) – 2009-04-27 14:47:35