ADONET是对Microsoft ActiveX Data Objects (ADO)一个跨时代的改进它提供了平台互用性和可伸缩的数据访问由于传送的数据都是XML格式的因此任何能够读取XML格式的应用程序都可以进行数据处理事实上接受数据的组件不一定要是ADO NET组件它可以是基于一个Microsoft Visual Studio的解决方案也可以是任何运行在其它平台上的任何应用程序
可编程性
利用Visual StudioNET你可以对你的对象进行编程而不是某一个数据表或某一个数据列ADONET采用强类型编程可以更好的表述业务对象
例如在以下的代码行中采用了传统的程序设计(不是强类型的)
IF TotalCost > Table(Customer)Column(AvailableCredit)
在这个例子中采用的是关联的抽象的方式对ADO表和列进行编程
如果采用强类型编程事情就变得简单多了
IF TotalCost > CustomerAvailableCredit
除了能够方便阅读强类型代码也更加容易编写特别是依靠语句自动补写功能你编写的对象也能够识别在下例中可以看到利用IntelliSense(智能感应)技术可以方便的找到与Customers相关的表
图一强类型编程和IntelliSense
此外强类型数据集有更高的执行速度因为应用程序不必在每次访问数据成员时都去ADO对象集合中查找了
运用Data Set (数据集)
任何采用ADONET的应用方案中最重要的就是数据集了数据集是指数据库数据在内存中的拷贝一个数据集可以包含任意多个数据表每一个一般都对应于数据库中的表或视图数据集组成了一个非连接的数据库数据视图也就是说它在内存中并不和包含对应表或视图的数据库维持一个活动连接这种非连接的结构体系使得只有在读写数据库时才需要使用数据库服务器资源因而提供了更好的可伸缩性
在运行时数据会从数据库中取出并先传给一个中间层业务对象然后传至用户界面为了适应这种数据交换ADONET采用了基于XML的持续的传递格式也就是说当数据从一个层传向另一个层时ADONET的方案是将内存中的数据(即数据集)表述为XML然后以XML格式传递给其他组件
下图为ADONET解决方案中主要组件
图二 ADO NET体系结构
为了方便处理数据Visual StudioNET添加了许多新特性对于高级XML开发者Microsoft提供了一个有色彩标识的XML设计器它具有语句自动补写和标签自动补写的功能
图三有色彩标识语句补足和标签补足的XML设计器
如果想要更加图形化的数据视图开发者可以使用XML设计器的设计视图只要将数据源包括Microsoft SQL Server和Oracle数据库拖拽到设计界面中就可以轻松完成你可以用任意的数据源包括XML文件来创建你的数据集
图四 ADONET数据集设计器
通常你需要添加修改或删除数据来开发你的应用程序利用数据预览标签你不仅可以添加修改数据你还可以操纵数据之间的关联
图五数据预览
在Visual StudioNET中数据绑定技术已经大大改进用来充分发挥ADONET的优势构建与数据交互的用户界面变得更加简单更重要的是你可以将值绑定到业务对象和XML Web服务中