现在有这样一个问题:我做了一个DAC层,然后里边也就做了connection.open(),connection.close()这样的操作,现在我要在DAC层外边加事务的处理(这里我不想改动DAC),那么这个问题能解决吗需要怎么解决.画成图示就是:
beginTransation()//这个在DAC层外
    //DAC层
    connection.open();
   .
   .
   connection.close()    //DAC层
    connection.open();
   .
   .
   connection.close()
commit()//这个在DAC层外catch
rollback()//这个在DAC层外
现在的难点就出在我的Transation都是放在了connection.open(),connection.close()之外了,照正常的思路是不能commit的,那么.net有没有对于这样特殊情况的处理.

解决方案 »

  1.   

    DAC层 不是应该有单独 的open和close函数吗?
    都是独立的函数
    应该不存在 楼主说的问题吧
      

  2.   

    现在的问题就是出在因为他们都是独立的函数,我在每次访问数据库的时候都在open,colse。但是现在事物的处理是放在了open,close外,有没有什么好一点的办法不改变DAC的情况下,把transaction做掉
      

  3.   

    使用.NET2.0的新事务处理
    也谈.NET2.0 事务处理TransactionScope 的使用
    http://www.cnblogs.com/DotNet1010/archive/2007/08/24/865952.html