none
SqlTranscaction 还是 System.Transaction RRS feed

  • 常规讨论

  • 对于只有一个数据库而且是sql server2005场景下的事务控制,我该选用SqlTranscaction还是System.Transaction来实现。 在这种情况下,我知道System.Transaction是使用LTM,那么LTM到底做了什么事情,它和单纯使用SqlTransaction时所做的事情是否一样? 目前面临技术选型,需要考虑是否使用System.Transaction(我们不需要分布式事务,而且只会使用2005以上数据库),请大家支招!!
    2011年3月24日 11:23

全部回复

  • 你自己最后一句话已经说明问题了。

    (我们不需要分布式事务,而且只会使用2005以上数据库)

    用SqlTransaction。


    family as water
    2011年3月24日 13:59
  • 谢谢Stone Z的回复。

    我想知道的是为什么?为何不推荐使用system.transaction?如果对于只有一个2005数据库的场景下,两种方式的底层机制是一样的,但是system.transaction使用起来更加方便,那我为何不直接使用它呢,为何还自己去包装sqltransactin,重复制造轮子?

    2011年3月25日 1:16
  • 这还得楼主自己权衡。

    基本上,更高级别的技术,用起来方便一些,但是执行效率相对就差点,可以自定义的部分也贫乏一点;用更低级别的技术,用起来麻烦一点,执行效率高一点,可以自定义的部分丰富一些。

    所以只能具体问题具体分析,不太可能统一的说,某种方式就是最佳方式。而且开发者的习惯也很重要,比如用惯了SqlTransaction,如果没有特别大的好处,通常也就不会考虑System.Transaction了。

    如果楼主不在乎那可能的微量的性能损失,也不会做一些复杂的事务特定操作,似乎System.Transaction 更适合一些。

     



    理解的越多,需要记忆的就越少
    2011年3月25日 2:56
    版主