ASP.NET中的分页存储库

时间:2013-12-06 09:42:47

标签: asp.net-mvc

我从服务中获取大约10,000条记录。我需要在ASP.NET UI中实现分页。我不想将记录存储在数据库中。我计划在块(100条记录)中获取记录并将它们放入缓存中。

如果我显示10条记录/页面,那么我可以在10页之间分页。现在,如果用户单击第11页,那么我将再次调用该服务,获取记录并刷新缓存以保存一组新记录。如果用户再次点击第一页索引,我需要再次点击该服务。

这是一个可行的ASP.NET上下文分页策略吗?此外,缓存中的记录太多可能会影响性能。任何人都可以为这种情况提出有效的方法吗?

1 个答案:

答案 0 :(得分:0)

如果使用分页,则没有理由进行缓存。否则,这通常是正确的方法。

选择流(从中选择)->过滤器(在哪里)->排序(排序)->跳过(页面*页面大小)->获取(页面大小)。

这应该全部传递到数据层,以使用户代码实际上不执行任何操作,而db是。跳过/接受部分通常是人们遇到问题最多的地方,因为它需要查询中的一列generate(行号),但通常在数据库端是可行的。