adoADO .NET由Microsoft ActiveX Data Objects (ADO)改进而来,它提供平台互用和可收缩的数据访问功能。由于XML(Extensible Markup Language,可扩展标示语言)是用于进行数据传送的格式,任何可以读取XML格式的应用程序都可以对数据进行处理。实际上,接收组件根本不需要ADO.NET组件。它可以是基于Microsoft Visual Studio的解决方案或在任何平台上运行的任何应用程序。
可编程能力
利用Visual Studio .NET,你可以对你的对象进行编程,而不是对表格和列进行编程。ADO .NET使用了突出显示商务对象的强类型(strongly typed)编程技术。
例如,设想下面的一行代码,使用传统的(而非强类型的)编程方法:
IF TotalCost > Table("Customer").Column("AvailableCredit")
在这个例子中,你正在以一种关系型的、抽象的方法对ADO表格和列进行编程。
利用强类型编程方法,同一个例子要简单得多:
IF TotalCost > Customer.AvailableCredit
除了更容易阅读外,强类型代码更容易编写。特别是,自动语句完成(automatic statement completion) 功能对你正在编程的对象很敏感。在下面的例子中,我们可以在我们的数据集中的项目间进行导航,智能感知(IntelliSense)技术将显示与Customers相关的可用表格。
图 1. 使用IntelliSense的强类型编程技术
此外,类型数据集在执行时运行更快,因为应用程序每次需要访问设计成员时,无须搜索ADO集合对象。
使用数据集
使用ADO.NET的任何软件解决方案的中心都是数据集。数据集是内存中的数据库数据的副本。一个数据集包括许多数据表,每个数据表一般都对应一个数据库表格或视图。一个数据集组成了一个"断开的"数据库数据的视图。说得更精确些,数据集存在于内存中,没有到包含相应表格或视图的数据库的活动的连接。这种断开的体系结构在读写数据库时,只使用数据库服务器资源,从而具有更大的可收缩性。
运行时,数据从数据库传递给中间层商务对象,然后将其继续传递给用户界面。为了适应数据ADO的交换,ADO .NET使用了一种基于XML的暂留和传输格式。说得更精确些,为了将数据从一层传送给另一层,ADO.NET解决方案以XML格式表示内存数据(数据集),然后将XML发送给另一个组件。
下面的插图显示了一个ADO.NET解决方案的主要组件。
图 2. ADO .NET的体系结构
为了使得在Visual Studio .NET使用数据变得更容易,Visual Studio .NET中有许多新特性。 对于核心部分的XML开发人员,微软公司已经包括了一个具有语句完成和标识符完成功能的彩色编码XML设计器。
图 3.具有语句和标识符完成功能的彩色编码XML设计器
对于一个更加图形化的数据视图,开发人员可以使用XML设计器的设计视图。可以简单将任何数据源中(包括Microsoft SQL Server和Oracle数据库)的表格,从Server Explore拖放到数据表面上。你可以创建由来自多个数据源,包括任何XML文件在内的数据组成的数据集。
图 4. ADO .NET数据集设计器
当你设计自己的应用程序时,经常需要添加、修改或删除数据。使用数据预览(Data Preview)选项卡,你不仅可以添加和修改数据,还可以操纵数据之间的关系。
图 5. 数据预览(Data Preview)
Visual Studio .NET的数据绑定技术进行了极大的改进以充分利用ADO.NET。创建与数据进行交互的用户界面现在变得更容易了。更重要的是,现在你可以将数据绑定到商务对象和XML网络服务。