关于ADO.NET
正如我以前多次提到, ADO.NET采用断开的架构运作。这样做的理由是传统的应用程序在文持一个开放的数据库连接时不能很好地扩展。如果一个组件打开了一个到数据库的连接并且使它开放到应用程序的整个生命周期,它消耗昂贵的数据库资源,而连接时可能需要的只是一小部分时间。随着用户数量的增长,数据库连接的总开销可能开始对数据库的性能造成不利的影响。因此,微软决定采用无连接结构的ADO.NET。通过减少活动连接的数量这不仅解决了可扩展性的问题,还使得数据从一个部分传输到另一部分更容易。就像你在那一个时刻看到的那样,您不必使所有的组件都连接到数据库,也没有必要使他们都理解一些二进制格式的数据。本文来自辣,文,论-文·网原文请找腾讯752018766 校园歌手大奖赛具体工作分配细则
此外,微软意识到今天由于网络的许多编程基本上有一个无连接的应用程序体系结构,想想一个典型的Web应用程序:用户请求显示的网页和服务器上产生的页面,以混合的HTML和数据中的数据。当页面发回给用户并在其浏览器中显示时,数据库的连接就不再需要。因此,如果需要一秒使一个网页显示,那么用户浏览它却需要二十九秒,而数据库连接所需的时间只有页面被使用的总时间的三十分之一。如果您仍然需要使用连接架构,Microsoft建议您使用ADO 。 ADO.NET本身就是无连接的,所以如果你需要一个持续连接的底层数据库,ADO技术仍然是一个比较好的方法。
数据集
ADO.NET使用DataSet数据集存储断开的数据资源。这个新的结构类似的ADO记录集,但它有一些重要的区别。例如,一个ADO记录集看起来像一个单一的表,纵使它实际上是来源于多个数据表。最后的记录仅仅是行和列。但是,一个数据集可以在其缓存中存储多个表的数据。您可以定义这些表格之间的关系,然后从单个表或相关联表中读取和检索数据。一个数据集 ,从某种意义上说,就像一个微型的数据库副本,但它通常只包含一个小的数据或数据表的子集。一个数据集对它底层的数据库不需要了解。事实上,多个底层数据库可以组成以数据集的形式的处理数据,这就是为什么一些数据无法来自SQL Server ,而有些数据可以来自Oracle。另一个对象是数据集适配器,持有被认为能链接到底层数据库的信息。这些数据集的适配器有让你检索和更新数据的方法,但这些方法实际上需要您提供适当的SQL语句或存储过程的名字。数据集知道所有与XML有关的。如果你想要使一个数据集的数据从一个组件到另一个,数据通过使用XML来传递 。如果你想要往硬盘上写一个能用于以后检索的数据集,它要以XML的格式存取,ADO.NET使用XML ,因为它是一种标准格式,任何理解XML的用户可以使用该XML