EF CodeFirst中的事务 拓荒者

对于一个ORM框架,支持事务操作是必须的。EF Code-Frist本身就是支持事务的。

我们的每一次SaveChanges就是一个事务操作,只需要在所有更改都完成后,调用这个方法就可以了。

如果你不愿意,网上还有人给出了手动的开启事务的代码(我没有测试过):

DbConnection con = ((IObjectContextAdapter)ctx).ObjectContext.Connection;
con.Open();
using (var tran = con.BeginTransaction())
{
// 这里才是事务中的代码

tran.Commit();
}
con.Close(); 

以上都是针对一个DbContext,也就是一个数据库的时候,如果操作涉及到多个数据库,还是使用分布式事务操作比较靠谱。

关于分布式事务,请移步我的另一篇文章:.NET分布式事务处理

原文地址:https://www.cnblogs.com/youring2/p/2514962.html