c# - 使用数据集我应该在服务器或数据集查询中分页
问题描述
我正在为我正在创建的网站使用强类型数据集
我应该修改我的数据集查询以每次带来 10 个结果,还是应该使用 Linq 并通过我已经从列表中获得的数据进行分页
例如,我可以使用
List<T> newsList = news.GetList().Take(x).Skip(x);
或者我可以一起去
Select * from News Order By NewsId Desc Offset 0 Rows Fetch Next 1 Rows Only;
解决方案
我的建议是始终在数据库查询中进行分页和过滤。将其移至 UI 只会让您在 SQL 服务器、网络、内存上承受过多的负载。在最坏的情况下,竞争条件/触发器更新竞争条件检测。
在 WebDevelopment 中更是如此。页面生命周期规定要构建页面,处理回发,发送给用户 - 然后立即从内存中删除。您必须不遗余力地保留数据,而这本身可能会导致许多问题。ASP.NET 比正常的 .NET 应用程序和数据库查询更容易受到 OOM 异常的影响,而 Linq 就在那里寻找罪魁祸首:https ://blogs.iis.net/webtopics/troubleshooting-system-outofmemoryexceptions-in-asp-net
推荐阅读
- node.js - 如何在node.js中使用multer和google drive api将多部分数据从表单上传到google drive?
- javascript - 在使用 JavaScript 填写表单之前,如何防止表单提交?
- python - 如何获得 cartopy 大地测量图的转换数据?
- ios - 需要从 URL 设置图像而不闪烁。阅读描述以了解完整的场景
- excel - 以编程方式打开连接到表格模型的 Excel 文档
- mysql - 在数据库中创建、更新、删除视图
- java - 水平 RecyclerView 中的上一个和下一个按钮
- c++ - 为模板类中的枚举类重载运算符<<
- neo4j - Neo4J本赛季出手次数最多和最少的球队
- php - 在 GitHub Actions 中使用 $_ENV 数组