我的公司专门使用通过存储过程填充的原始、无类型数据集。我的任务是寻找一种方法来检索非常大的结果集(分页)以及获得延迟加载功能的方法(至少我认为这是延迟加载;老实说我仍在学习这些东西)所以我们不是批量拉回数万行并占用服务器资源。
我个人对数据集不太熟悉,因为我尽可能避免使用它们,而且我宁愿在这里完全摆脱它们,但说“更改所有内容以使用 LINQ/EF”并不是一个有效的答案,因为对管理层来说没有商业值(value)(而且重做事情需要很长时间,因此这个想法会立即被否决)。
我可以研究一些资源来获得相同类型的功能,但使用标准非类型化数据集吗?
编辑:此外,我需要一个可以使用不使用存储过程的动态创建的 SQL 的解决方案。
最佳答案
您所需要做的就是修改存储过程以对结果集进行分页。当然,这也意味着您必须将某些条件(例如页码等)作为参数传递。假设您使用的是 SQL Server 05 或更高版本,请查看以下内容:
关于c# - 使用数据集处理分页和 "lazy-loading"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5581055/