2006年1月版比起前版 Data Access Application Block 的变化

本文介绍了2006年1月版DataAccessApplicationBlock相对于前版的主要变化,包括移除了DBCommandWrapper类并用DbCommand替代、改进了存储过程参数处理方式、调整了连接管理方法等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

2006年1月版比起前版 Data Access Application Block 的变化

2006年2月9日 18:11

2006年1月版比起前版 Data Access Application Block 的变化

整理翻译自企业库的文档

一、以前的 DBCommandWrapper 类被去掉了,因为在 .net 2.0 中 System.Data.Common.DbCommand 提供了类似的功能。

以前Database 实例类创建和返回一个 DBCommandWrapper 对象,在2006年1月版 中变成了创建和返回一个DbCommand 对象。

以前Database 实例类的执行,接受一个 DBCommandWrapper 对象,现在是 DbCommand 对象

SetParameterValue, GetParameterValue, AddParameter, AddInParameter, AddOutParameter.  这些原来在 DBCommandWrapper 中的方法,现在移到了 Database 类了,原因当然很简单,System.Data.Common.DbCommand 类 毕竟不是自己可以控制的呀。

以前我们这么写:

Database db = DatabaseFactory.CreateDatabase();

DBCommandWrapper dbCommand = db.GetStoredProcCommandWrapper("GetProductsByCategory");

dbCommand.AddInParameter("@CategoryID", DbType.Int32, Category);

DataSet productDataSet = db.ExecuteDataSet(dbCommand);

现在我们这么写

Database db = DatabaseFactory.CreateDatabase();

DbCommand dbCommand = db.GetStoredProcCommand("GetProductsByCategory");

db.AddInParameter(dbCommand, "CategoryID", DbType.Int32, Category);

DataSet productDataSet = db.ExecuteDataSet(dbCommand);

二、为了避免存储过程参数名字在不同数据库中有不同的书写方式,你在输入存储过程参数名的时候,不再需要这些跟数据库紧密挂钩的字符。

比如,如果你使用的是SQL Server 数据库,以前你可以这么写

dbCommand.AddInParameter("@CategoryID", DbType.Int32, Category);

现在,则变成了

db.AddInParameter(dbCommand, "CategoryID", DbType.Int32, Category);

你不再额外需要输入 @ 字符,系统会自动根据你的数据库类型,在实际调用时候,自动加上这个字符。

三、Database 类的 GetConnection 方法变成了 CreateConnection  方法,这个方法返回一个 System.Data.Common.DbConnection 类,这个类是 .net 2.0 新增的类。

四、不再维护连接字符串,而使用 2.0 中, config文件中新增的配置节 connectionStrings 配置节。

后面详述。

五、通用数据库访问类和其他数据库访问类的变化。即:GenericDatabase  类。

后面详述。

六、ADO.NET 2.0 中 Oracle 数据类型,DbType.Guid 和 DbType.Boolean 发生了变化。

由于我对 Oracle 不熟悉,这里就不翻译了,自己去看原文吧。

参考资料:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpag2/html/entlibjan2006_dataaccessappblock.asp

 

源文档 <http://cache.baidu.com/c?word=dbcommandwrapper&url=http%3A//blog%2Ejoycode%2Ecom/ghj/archive/2006/02/09/71247%2Easpx&b=0&a=3&user=baidu>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值