XCode中如何使用事务

Coordinator
Sep 1, 2011 at 3:40 AM

废话不多说,直接上代码:

// try之前开始事务
Meta.BeginTrans();

try{
  // do something
  // 强烈建议,尽可能做到只有一次提交事务,以免混乱
  Meta.Commit();
}
catch{
  // 出错了,需要回滚事务
  Meta.Rollback();
  // 继续向外抛出异常
  throw;
}

XCode还支持多级事务,实际上,除了第一级事务是真实的事务外,第一级以上的事务全部都是事务计数器加一减一而已,BeginTrans加一,Commit和Rollback减一,减到0时执行真正的提交或回滚。

这个多级事务实现比较简单,只考虑了常见的情况。