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