Enterprise Library 4.0中文文档-数据访问应用程序块【1】数据访问应用程序块简介

本主题包括一系列简短的部分提供了帮助您确定如何使用数据访问应用程序块以适合您的要求。本主题包含以下部分:

  • 常见情况
  • 示例代码
  • 新版本特点,版本3.1和后来的
  • 何时该使用数据访问应用程序块
  • 何时该直接使用ADO.NET

除本介绍材料,该文档还包含了以下主题:

 

  • 使用数据访问应用程序块开发应用程序。此介绍如何配置应用程序块,如何准备您的应用程序使用数据访问应用程序块,应用程序块如何与一个数据库建立连接,以及处理参数和异常处理。
  • 关键情景。本节演示如何使用应用程序块以执行最典型的数据访问任务。
  • 设计数据访问应用程序块。本节介绍进入设计和应用程序块的理由和基础理论。
  • 扩展和修改数据访问应用程序块。本节介绍如何扩展应用程序块,加入你自己的数据库,并建议修改源代码。
  • 部署和操作。本节介绍如何部署和更新应用程序块组件。它还包含有关配置和SQL Server安全。
  • 数据存快速上手。本节介绍如何安装和配置的快速应用,包含了一系列的演练,演示如何使用数据访问块。


常见情况

 

开发者在编写应用程序的时候经常使用不同的数据库。因为这是共同的,开发者会发现自己为每个应用程序反复编写相同的代码。此外,这些应用程序可能需要与不同类型的数据库。虽然任务是相同的,该代码必须加以调整,以适应不同类型的数据库。数据访问应用程序块解决这些问题提供了逻辑来执行最常见的数据访问任务。开发者只需要做到以下几点:

创建数据库对象。
提供命令的参数,如果这是必要的。
调用适当的方法。这些方法的效果能得到优化。他们是可移植的。
数据访问应用程序块可移植到SQL Server, SQL Server CE,和Oracle数据库。它的目的是为解决开发者面对不同数据库时编写最常见的任务。这些任务是根据情景安排。每个情景给出了一个例子,模拟一个真实的应用环境,如检索信息的目录或执行金融交易,介绍了数据库功能的情况,并给出了代码来完成这项任务。

安排这些任务的目标,根据设想是使代码在一个部分中。展示一个孤立的方法没有任何意义,而把它放在许多开发者都熟悉的应用环境中,提供了一个情

景设置的代码,在这里他们可以被最好地利用。

几种设想如下:

 

  • 使用DataReader中检索多行数据
  • 使用一个DataSet检索多行数据
  • 执行命令和检索输出参数
  • 执行命令和检索一个单值项目
  • 表演多个业务交易
  • 从SQL Server检索XML数据
  • 使用DataSet对象更新的数据库


欲了解更多有关所有这些情景,看到关键情景。

 

示例代码

 

下列代码演示了如果调用存储过程返回一个DataSet

 

新版本特点,版本3.1和后来的

 

一般来说,应用程序可以使用较早版本的数据访问应用程序块,而不需要任何代码更改。它可能只需要更新新的程序集,并更新配置文件以引用正确版本

的组件。然而,新版本数据访问应用程序块相对于3.1版 (May 2007)有了一些改变 ,如果您升级到最新版本的企业库,这可能会影响到旧版本应用程序。

以下各节描述了这些变化。

.NET Framework 2.0的TransactionScope类

要充分利用的.NET Framework 2.0的TransactionScope类,从Enterprise Library 3.1版开始已经改变了一些数据库类的方法。这些方法,如ExecuteNonQuery,修改一个TransactionScope实例使用GetOpenConnection方法替代GetConnection方法。如果您写了一个继承于数据库的类,则需要注意这些变化重写你的代码。如果您继续使用GetConnection方法,您将收到一个编译警告。此外,如果您的应用程序使用ExecuteXmlReader方法,您可能需要重写你的代码进行测试,以查看TransactionScope事例是否在关闭连接之前是活跃的。

欲了解更多信息,请参阅使用TransactionScope类。对于一个例子,如何使用ExecuteXMLReader的方法,见检索多条记录为XML 。

SQL Server Compact Edition

Enterprise Library 3.1 – May 2007,以及后来的版本都支持SQL Server Compact Edition(CE)。SQL Server CE提供了用于台式电脑和移动应用程序的关系数据库的基本功能,它需要有一个本地数据存储,但不需要全功能的SQL Server 。欲了解更多信息,请参阅“使用的SQL Server CE ”建立一个数据库对象。

 

何时该使用数据访问应用程序块

 

数据访问应用程序块包含了少量的方法,简化了最常用的方法来访问数据库。每种方法概括了逻辑检索需要的数据和管理连接到数据库。如果您的应用程序使用标准的数据访问技术,您应该考虑使用应用程序块。

该应用程序块作为ADO.NET的补充,使您可以为不同的数据库类型使用相同的代码。它包括为SQL Server和Oracle数据库的类。这些类包含代码,提供数据库的具体实现的功能,如参数处理和游标。此外, GenericDatabase类允许您使用的应用程序块的任何配置ADO.NET DbProviderFactory对象。您可以扩展应用程序块,增加了新的数据库类型,其中包括数据库的特定功能,或提供自定义的执行现有的数据库。唯一的要求是,一个ADO.NET DbProviderFactory类存在的目标数据库。

 

何时该直接使用ADO.NET

 

数据访问应用程序块是ADO.NET的一个补充而不是一个替代。其提供了简单和方便,同时帮助开发者使用ADO.NET的最佳做法。如果您的应用程序需要检索

数据的方式在一个专门的,或者如果您的代码需要定制,以充分利用特有的功能特定的数据库,使用ADO.NET可能更适合您。

 

文章由唐勇(http://www.tangyong.net/)翻译自http://msdn.microsoft.com/en-us/library/cc511547.aspx,翻译得辛苦,转载请保留,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值