EF Code-First中的事务

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

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

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

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

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

 

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

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

posted @ 2012-05-23 16:27  拓荒者FF  阅读(6698)  评论(0编辑  收藏  举报