作者:changbird.(转载请注明出处)
为了学习而搭建的软件环境:
1. MS Enterprise Library 4.1 (微软企业开发库 4.1,以下简称企业库)
2. MS VS2008 + .net 3.5 sp1
企业库简介
企业库是个由一些经典应用程序模块组成的开发库,由微软内部的工程师根据多年.net编程经验写成,可被所有.net程序员引用并构建自己的应用程序。发布企业库的目的是为了让广大.net程序员从繁重、重复的coding中解脱出来。
企业库-数据处理模块简介
当世界各地的开发者们开发涉及到数据库的应用的时候他们会发现自己经常要为不同的应用重复开发功能相同或相似的数据访问、处理代码,并且,这些应用会使用不同的数据库,例如:SQLServer、Oracle等。尽管这些代码实际要达到的目的一样,例如都是从数据源取出100条数据,但因为项目使用的数据库不同,这些代码都不得不被改写以便适合访问该数据库、处理相关数据。这使得在很多时候,程序员的很大一部分精力都放在了数据访问、处理上,而不是真正的有价值的、也是最重要的业务逻辑处理上。
微软企业库的数据处理应用模块(The Data Access Application Block,以下简称DAAB)通过提供合理的逻辑模块来帮助.net开发人员从繁重的数据访问、处理工作中解脱出来。开发人员仅需做如下的工作:
1. 创建数据库(连接)对象
2. 通过命令行(command)提供数据访问及处理所需的各种参数
3. 调用DAAB提供的相应处理方法获得已封装好的DataSet等对象。(这些方法也是轻量级的,同时也已经做过性能优化)
DAAB支持SQLServer、SQLServer CE以及Oracle数据库。DAAB将常见的数据处理操作进行适当分类并针对这些分类向开发者们提供相应的解决方案(包括可调用的方法等)。这些解决方案(操作)包括:
1. 通过使用一个DataReader对象来获得多条数据
2. 通过使用一个DataSet对象来获得、封装多条数据
3. 执行一条sql命令并获得返回值
4. 执行一条sql命令并返回一个单值对象
5. 通过一个事务执行多项数据库操作
6. 从SQLServer获得XML格式的数据
7. 根据封装在一个DataSet中的数据更新数据库
官方:在什么情况下推荐开发者使用DAAB
官方:在什么情况下推荐开发者直接使用ADO.NET
DAAB是一套针对ADO.NET的代码及解决方案的补充,而不是要替代ADO.NET。DAAB为开发人员在通常情况下使用ADO.NET进行编程提供了方便及流程简化。但如果你的应用程序需要通过一种特殊途径获取数据,或者你的代码需要使用某一特殊类型数据库提供的自有的、仅适用于该数据库的特性时,直接使用ADO.NET还是最适合你的选择。
MyThinking :使用DAAB可以减少很多编程工作,例如以前需要编写自己的SQLHelper类、自己控制connection的关闭等工作,可以将更多精力放在思考如何最优化实现逻辑处理上。不过也出现一个问题,就是你的应用,底层与数据库交互的操作将基于DAAB,将基于MS的代码并需面对今后的升级、改动。所以该不该使用DAAB,还需要从项目灵活性、可控性、依赖性等方面考虑。