ADO.NET中断开连接方法的确切含义是什么

我正在学习ADO.Net。 我读了这一行: –

DataReader是“连接”方法,数据集是“断开连接”方法

从这句话我得出这样的结论:在数据阅读器中我们需要建立与数据库的连接,而在数据集中我们不需要建立与数据库的连接。

但是如果没有建立连接就可以访问数据。我知道我没有得到确切的含义。

请任何人可以通过示例告诉我确切的含义。

Disconnected =建立连接,获取数据,关闭连接

已连接=建立连接,保持连接活动,关闭时关闭连接。

有关详细信息,请参阅MSDN上的链接

ADO.net体系结构称为连接体系结构,其中连接必须保持打开直到结束才能从数据库中检索和访问数据。 连接架构建立在这些类型上 – connectioncommanddatareader

ADO.net体系结构,其中连接将保持打开状态,直到从数据库检索数据,以及稍后即使关闭数据库连接也可以访问该体系结构称为断开连接的体系结构。 dataadapter断开体系结构建立在这些类型上 – connectiondataset dataadaptercommandbuilder dataadapterdataset以及dataview

将DataSet视为内存数据库,它包含DataTables并包含表数据(基于Select查询的全部或数据子集)甚至维护表之间的关系。 在DataSet上,您可以执行更新/删除操作,它将通过DataAdapter对象同步到数据库。 所以要显示数据,它不需要连接到数据库所有时间都作为DataReader,需要在需要显示数据时连接到数据库。

在经典ADO中, RecordSet对象可以在连接和断开模式下工作。 在Ado.Net中,有两种不同的类型可用于满足每种情况 – IDataReaderDataSet

连接模式:在仅向前的结果集流中遍历时保持连接到基础数据源。

断开连接模式:检索到的结果集保留在内存中,遍历不再需要与DB的连接。

这篇MSDN文章进一步比较了这两个对象,并讨论了它们各自的优点,这比我在这里解释的要好得多。

连接架构 :对于每个请求,点击数据库,获取数据并返回。 您只能执行读操作。连接应始终打开。使用数据读取器

Dis Connected Architecture :立即获取整个数据,现在执行您想要执行的任何操作。 插入/更新/删除。 无需始终打开连接。使用数据集,数据适配器

连接架构:在连接模型中,我们可以将任何应用程序连接到数据库,并且即使在不使用任何数据库操作时也可以保持与数据库系统的连接。 对于这种架构,我们使用ConnectionCommandDataReader

断开的架构:在断开连接的模型中,我们将任何应用程序连接到数据库,直到我们调用close方法。 在这个架构中,我们使用DataSetDataAdapter