微软对于ADO.NET进行长期的研究发展,不管是用户还是技术人员都已经了解ADO.NET了,这里就说一下自己的看法,和大家讨论讨论。ADO.NET数据集工作原理请参见下面的图示说明:
所示的流程就是数据集DataSet的工作原理。首先,客户端与数据库服务器端建立连接。然后,由客户端运用 程序向数据库服务器发送数据请求。数据库服务器接到数据请求后,经检索选择出符合条件的数据,发送给客户端的数据集,这时连接可以断开。
接下来,ADO.NET数据集以数据绑定控件或直接引用等形式将数据传递给客户端运用 程序。如果客户端运用 程序在运行流程中有数据发生变化,它会修改数据集里的数据。当运用 程序运行到某一阶段时,比如运用 程序须要保存数据,就可以再次建立客户端到数据库服务器端的连接,将数据集里的被修改数据提交给服务器,***再次断开连接。#t#
把这种不须要实时连接数据库的工作流程叫做面向非连接的数据访问。在DataSet对象中处理数据时,客户端运用 程序仅仅是在本地机器上的内存中运用数据的副本。这缓解了数据库服务器和网络的压力,因为只有在***获取数据和编辑完数据并将其回传到数据库时,才能连接到数据库服务器。
虽然这种面向非连接的数据结构有优点,但还是存在疑问。当处于断开环境时,ADO.NET数据集运用程序并不知道其他客户端运用 程序对数据库中原数据所做的改动。很有可能得到的是过时的信息。