微软企业库5.0学习笔记(四)
2010-05-28 15:06
253 查看
使用DataSet进行工作
使用Database类的ExecuteDataSet方法获取DataSet对象,在DataSet对象中,默认的表名称依次为Table,Table1,Table2.。。。。。。。。。。。。
如果你想要将数据加载到一个已经存在的DataSet对象中,可以使用LoadDataSet方法。
代码
using (DbConnection conn = db.CreateConnection())
{
conn.Open();
DbTransaction trans = conn.BeginTransaction();
try
{
// execute commands, passing in the current transaction to each one
db.ExecuteNonQuery(cmdA, trans);
db.ExecuteNonQuery(cmdB, trans);
trans.Commit(); // commit the transaction
}
catch
{
trans.Rollback(); // rollback the transaction
}
}
分布式的事务
如果你的事务包含了访问不同的数据库,或者是包括了消息队列的访问,你必须使用分布式的事务。例如windows的Distributed transaction coordinator(DTC)服务。
使用TransactionScope类
using (TransactionScope scope
= new TransactionScope(TransactionScopeOption.RequiresNew))
{
// perform data access here
}
扩展模块使用其他类型的数据库
企业库默认支持SQL Server、Oracle和SQL CE。但是你可以扩展来支持更多的数据库。自定义一个provider或者是引入第三方的provider。
如果是自定义一个provider,你可以继承Database类,然后重写里面的一些方法。在方法中处理一些细节,例如返回值,参数的前缀(@),数据类型转换,和其他的一些相关因素。
使用Database类的ExecuteDataSet方法获取DataSet对象,在DataSet对象中,默认的表名称依次为Table,Table1,Table2.。。。。。。。。。。。。
如果你想要将数据加载到一个已经存在的DataSet对象中,可以使用LoadDataSet方法。
代码
using (DbConnection conn = db.CreateConnection())
{
conn.Open();
DbTransaction trans = conn.BeginTransaction();
try
{
// execute commands, passing in the current transaction to each one
db.ExecuteNonQuery(cmdA, trans);
db.ExecuteNonQuery(cmdB, trans);
trans.Commit(); // commit the transaction
}
catch
{
trans.Rollback(); // rollback the transaction
}
}
分布式的事务
如果你的事务包含了访问不同的数据库,或者是包括了消息队列的访问,你必须使用分布式的事务。例如windows的Distributed transaction coordinator(DTC)服务。
使用TransactionScope类
using (TransactionScope scope
= new TransactionScope(TransactionScopeOption.RequiresNew))
{
// perform data access here
}
扩展模块使用其他类型的数据库
企业库默认支持SQL Server、Oracle和SQL CE。但是你可以扩展来支持更多的数据库。自定义一个provider或者是引入第三方的provider。
如果是自定义一个provider,你可以继承Database类,然后重写里面的一些方法。在方法中处理一些细节,例如返回值,参数的前缀(@),数据类型转换,和其他的一些相关因素。
相关文章推荐
- 微软企业库5.0学习笔记数据验证模块
- 微软企业库5.0学习笔记(六)创建并引用企业库对象
- 微软企业库5.0学习笔记(三十三)数据访问模块
- 微软企业库5.0学习笔记(十六)
- 微软企业库5.0学习笔记(00)企业库主要内容
- 微软企业库5.0学习笔记(三十五)数据访问模块 DataSet以及数据库事务
- 微软企业库5.0学习笔记(四)配置企业库
- 微软企业库5.0学习笔记(五)引用企业库程序集及企业库的依赖
- 微软企业库5.0学习笔记(七)
- 微软企业库5.0学习笔记(四十五)实战数据验证模块----高级篇
- 微软企业库5.0学习笔记(二)关于5.0版本
- 微软企业库5.0学习笔记(七)存储容器的引用
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- 微软企业库5.0学习笔记(十五)
- 微软企业库5.0学习笔记(三十四)数据访问模块 各种获取数据的方式
- 微软企业库5.0学习笔记(六)创建并引用企业库对象
- 微软企业库5.0学习笔记(八)
- 微软企业库5.0学习笔记(三十三)数据访问模块
- 微软企业库5.0学习笔记实战数据验证模块
- 微软企业库5.0学习笔记实战数据验证模块----高级篇