许多VS开发人员似乎都这么想,认为所有的Oracle的东西在编写时都考虑的是Java,并没有考虑到Windows APIs,看看在Oracle技术网站上Windows开发中心提供的所有内容吧。我们是很积极主动的。
在了解ADO.NET对象模型的用途以及它在整个Visual Studio 体系结构中所处的位置之后,现在来更深入地了解这一技术。本章将简要介绍ADO.NET对象模型,以及它与微软先前数据访问技术的区别。
设计ADO.NET的目的就是为了帮助开发人员开发在Intranet和Internet上使用的高效多层数据库应用程序,而且ADO.NET对象模型也提供了这样的手段。图1.1显示了包含ADO.NET对象模型的类。中间的虚线将对象模型分为两部分。虚线左边的对象是连接对象。这些对象直接与数据库通信,以管理连接和事务,以及从数据库检索数据和向数据库提交所做的更改。虚线右边的对象是非连接对象,允许用户脱机处理数据。
由ADO.NET对象模型中非连接部分组成的对象不与连接对象直接通信。这是对微软先前数据访问对象模型的一个重要修改。在ADO中,Recordset对象存储查询的结果。可以调用其Open方法以提取查询结果,调用其Update(或UpdateBatch)方法,以向数据库提交存储在Recordset中的修改。#t#
稍后讨论的ADO.NET DataSet(数据集)在功能上与ADO Recordset相当。但是DataSet不与数据库进行通信。为了从数据库提取数据并放入DataSet中,可以将DataSet传递给一个已连接ADO.NET对象(DataAdapter)的Fill方法。与此类似,为了向数据库提交存储在DataSet中的挂起更改,可以将DataSet传递给DataAdapter对象的Update方法。