最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

关于数据库操作及事务的处理

来源:动视网 责编:小采 时间:2020-11-09 15:32:51
文档

关于数据库操作及事务的处理

关于数据库操作及事务的处理:DAL基于ADO.NET的话,那么可以为你的DAL增加一个返回DbTransaction对象的方法,然后使用类这样的工厂方法 C# code 1 2 3 4 5 6 7 using (DbTransactiontran=CreateMyTransaction()) { method_a(tran); method_b(
推荐度:
导读关于数据库操作及事务的处理:DAL基于ADO.NET的话,那么可以为你的DAL增加一个返回DbTransaction对象的方法,然后使用类这样的工厂方法 C# code 1 2 3 4 5 6 7 using (DbTransactiontran=CreateMyTransaction()) { method_a(tran); method_b(


DAL基于ADO.NET的话,那么可以为你的DAL增加一个返回DbTransaction对象的方法,然后使用类这样的工厂方法 C# code ? 1 2 3 4 5 6 7 using (DbTransactiontran=CreateMyTransaction()) { method_a(tran); method_b(tran); method_c(tran); tran.Commit(); }

DAL基于ADO.NET的话,那么可以为你的DAL增加一个返回 DbTransaction 对象的方法,然后使用类似这样的工厂方法

C# code ?

1

2

3

4

5

6

7

using(DbTransaction tran=CreateMyTransaction())

{

method_a(tran);

method_b(tran);

method_c(tran);

tran.Commit();

}



总之你的所谓DAL方法要作出修改,它如果需要访问数据库,那么从传入的tran中去取得 Connection 属性,并调用 Connection 的 CreateCommand 方法来创建 Command,来操作数据库。



事务只在同一线程的同一数据库连接下有效,
而另一方面,每一个具体的业务,会包括大量的实体类的增删改查处理,

如果由DAL控制事务,每一次都要频繁的开关数据库,有可能会很浪费资源。

事务的目的是回滚,采用DAL控制的方式无法进行回滚。
因此,事务的发起与结束只能有业务层控制,而不能由DAL控制,这就决定了数据库的开关也只能由BLL说了算。

文档

关于数据库操作及事务的处理

关于数据库操作及事务的处理:DAL基于ADO.NET的话,那么可以为你的DAL增加一个返回DbTransaction对象的方法,然后使用类这样的工厂方法 C# code 1 2 3 4 5 6 7 using (DbTransactiontran=CreateMyTransaction()) { method_a(tran); method_b(
推荐度:
标签: 操作 处理 解决
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top