c# - ADO.NET 问题 : When to use DataReader, DataAdapter

标签 c# ado.net sqldatareader

我只是想知道,在使用 DataReader 和 DataAdapter 从数据库中获取数据时我必须考虑哪些事情,以及这两者之间的区别是什么,datareader 需要打开连接而 datadapter 不需要...在我们的项目中,是在我们所有的 DAL 中使用 DataReader,我们从不使用数据适配器。所以我想知道在什么情况下使用 DataAdapter + Datatable 组合比使用 DataReader 更好。提前致谢。

最佳答案

DataReader:当您只想以 readony 模式获取数据、填充您的业务实体并关闭阅读器时,最好使用它。这真的很快。

假设,您有一个客户类,并且您希望拥有一个完全初始化的对象,其中填充了所有客户属性,例如(名称、地址等)

您将在此处使用 DataReader 并仅填充实体并关闭阅读器。

您不能使用 DataReader 进行更新。

DataAdapter:您可以使用 DataAdapter 读取/更新数据,但读取数据的速度不如 Datareader。

您可以使用 DataAdapter 更新数据,但不能使用 reader 更新数据

关于c# - ADO.NET 问题 : When to use DataReader, DataAdapter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3693788/

相关文章:

c# - 使用 Dapper.NET 从存储过程调用中获取 Oracle OUT 参数的值

c# - 使用 SQL DataReader 捕获插入或删除的值

c# - 为什么这个指定的转换无效??

c# - 存储过程是用linq2sql生成类好还是直接调用存储过程好?

c# - SqlDataReader 与数据集

c# - ASP.NET-CORE 2.2 SignalR CORS

c# - 滚动查看器和工具提示

c# - 显示 Resharper 8 中方法的所有异常

c# - 如何使用 C# 编辑波形音频文件?

c# - 存储过程而不是 SqlBulkCopy