您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

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

2024/3/31 7:31:40发布20次查看
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说了算。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product