TransactionScope
来源:互联网 发布:软考初级程序员视频 编辑:程序博客网 时间:2024/05/17 04:05
第一步:
实际需求:在开发一个全国范围应用的系统过程中,我们的数据录入这块要用事务来控制。可是我们的架构使用了经典三层,目前我知道的控制事务的方法有:
1、在sql语句中来控制
2、使用System.Data.SqlClient命名空间中的SqlTransaction来控制
3、使用TransactionScope来控制
第二步:
分析利弊:
1、虽然使用sql语句来操作简单方便,但是使用存储过程来操作不便于程序的维护性,所以使用sql来操作实为下策。
2、使用sqlTransaction来操作可以很好实现对D层方法的控制,但是由于系统业务往往是多表操作,我们设计的D层只针对单表操作。所以B层才是真正对多表操作控制的源头,那么现在的问题就变成了如何在B层使用事务?使用SQLTransaction?那就需要需要把数据库的操作放到B层来做,破坏了分层的设计思想,得不偿失。这种方式也是不可取的。
3、TransactionScope继承了IDisposable,这里不涉及数据库的使用,所以可以在B层来控制。使用TransactionScope一般放到Using里面使用。
第三步:
Demo设计
核心思想:在B层控制是否要提交事务。
第四步:
代码实现(略)
第五步:
总结提高
1、知行合一。以前我学习过程中的方式太注重理论,缺乏实践活动。导致真正在工作岗位上不能熟练施展能力。多做一些实践,实践中自己才能慢慢理解他人说的话。
2、不断思考。做事情先要分析,运筹帷幄方能决胜千里。
0 0
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- TransactionScope
- transactionscope
- TransactionScope
- TransactionScope Troubleshooting
- TransactionScope应用
- TransactionScope应用 .
- TransactionScope使用说明
- TransactionScope使用说明
- TransactionScope事务
- TransactionScope使用说明
- 叶轮/叶片和旋翼故障诊断要点
- 集合栈
- java解析XML几种方式小结
- iOS开发——纯代码界面(UITabBarController,UINavigationController,UIImageView)
- PAT甲级 1001. A+B Format
- TransactionScope
- Linux中的Vim编辑工具基本命令
- JAVA IO-管道流
- 一些预处理方法的链接
- 第一个java程序解析
- 利用SH函数绘制空间中动态物体
- css3中的部分属性
- 动压滑动轴承油膜涡动诊断要点
- HDU 1233 又是畅通工程 [kruskal]+[prim]【最小生成树入门】