您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

1.2.3 与提供程序无关的API

http://book.51cto.com  2008-05-14 17:11  方兵  机械工业出版社  我要评论(0)

1.2.3 与提供程序无关的API

在新的ADO .NET 2.0中,用于各种数据库的提供程序进行了重构,在已有的通用命名空间System.Data.Common中,我们看到一些新的基类,如System.Data.Common.DbDataAdapter、System.Data.Common.DbDataReader、System.Data.Common.DbConnection、System.Data.Common.
DbTransaction等,而各个特定于不同类型数据库的相应托管提供程序则从这些类当中继承,例如对于System.Data.Common.DbCommand,其继承关系如下:

System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Data.Common.DbCommand
System.Data.Odbc.OdbcCommand
System.Data.OleDb.OleDbCommand
System.Data.OracleClient.OracleCommand
System.Data.SqlClient.SqlCommand
System.Data.SqlServerCe.SqlCeCommand

我们可以看到,在新增加的基类DbCommand下派生出了若干个特定于数据库类型的子类。以前,这些子类是存在的,只不过它们彼此之间并不存在这样的派生关系罢了。

在ADO .NET 2.0中,因为这种新的继承关系的存在,使我们开发数据库无关的数据访问层成为可能。

在开发数据库无关的数据访问层时,只需要调用上述基类的相应方法即可。比如查询数据,只需要调用DbDataAdapter的Fill方法,更新数据到数据库,只需要调用DbDataAdapter的Update方法,等等。而不需要关心这里的DbDataAdapter到底是哪一个子类的实例。

其他相关对象的操作也是类似的,比如需要操作数据库连接的地方使用DbConnection,需要使用事务的地方使用DbTransaction,等等。

至于如何实例化具体的子类,我们在下一节讲述。

【责任编辑:夏书 TEL:(010)68476606】

回书目   上一节   下一节
艰难的WAPI标准之路
专题:ASP.NET 2.0基础开发指南
微软的Ajax:Atlas(ASP.net AJAX)
ASP.NET开发教程
ASP实用开发教程
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有