
EF的SaveChanges默认会开启事务,如果想手动使用事务的话,参考代码如下:
- using (var context = new BloggingContext())
- {
- using (var transaction = context.Database.BeginTransaction())
- {
- try
- {
- context.Blogs.Add(new Blog { Url = "www.tnblog.net" });
- context.SaveChanges();
-
- context.Blogs.Add(new Blog { Url = "m.tnblog.net" });
- context.SaveChanges();
-
- var blogs = context.Blogs
- .OrderBy(b => b.Url)
- .ToList();
-
- // Commit transaction if all commands succeed, transaction will auto-rollback
- // when disposed if either commands fails
- transaction.Commit();
- }
- catch (Exception)
- {
- // TODO: Handle failure
- }
- }
- }
评价