.net - 关于正确使用数据表和数据集的困惑

标签 .net stored-procedures datatable ado.net dataset

我一直在研究关于使用数据表和数据集的最佳实践是什么,但我还没有找到任何真正确凿的答案。两者都适用于我想做的事情,但虽然没有确凿的答案,但这里和所有地方的普遍共识是应该避免使用数据集。

基本上,我想做的是使用存储过程从数据库中检索数据。每个存储过程都从不同的表中提取数据,并可能执行一些连接。然后,此数据显示在窗口窗体中。用户将使用此数据,然后添加新记录或更新数据库中的现有记录。

我熟悉的一种方法是进行单独的数据库调用,将结果存储在数据表中,然后使用该对象将其显示在屏幕上。这是使用 ADO.net 完成的。这行得通。此外,使用数据集从一个数据库调用(一个存储过程)返回所有这些数据也可以。但显然,这不是理想或最有效的做事方式吗?我不太熟悉 LINQ,但这似乎是另一种检索数据的方法。

我想这是针对特定问题的广泛问题。虽然目前还不能真正使用服务,但理想的解决方案是设计系统,以便我们将来可以使用 Web 服务。

我有点觉得我在这一点上过度分析了事情,我很确定当谈到这一切时我已经成功地迷惑了自己。我非常感谢对此问题的评论和想法。

最佳答案

如果您将来在任何地方都有服务,那么您应该立即放弃数据表和数据集并创建业务类(也称为数据传输对象或 DTO)。

如果您打算通过服务移动数据,那么这是正确的长期实现方式。

关于.net - 关于正确使用数据表和数据集的困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8682466/

相关文章:

.net - 我将如何修改此正则表达式以提取英国邮政编码的左右部分?

c# - 模拟不起作用时如何让我的单元测试保持干燥?

c# - 计算每天改变值(value)的公式的最佳方法是什么?

R - 对数据框/数据表的列成对应用计算

javascript - JS dataTables.fixedHeader 标题和数据之间的不同宽度

C# 读取 csv,计算一些东西,导出另一个 csv

javascript - 如何在office 365 .js 文件中调用服务器端方法

c# - 使用 Linq 选择类的属性以返回 IEnumerable<T>

php - 如何创建与我的 php 函数执行类似工作的程序(优化加速)

postgresql - 优化 Postgres 存储过程