在事务中操作,增加数据之后进行回滚
begin tran rollback
不好意思,是我没有表述清楚。
我想知道的是在EF框架下的DbContext类该怎么操作才能实现事务与回滚呢?似乎没有相应的方法
而且已经使用Repository又对DbContext做了一次封装了
@飞鸟_Asuka:
来自Working with Transactions (EF6 Onwards)的参考代码:
namespace TransactionsExamples { class TransactionsExample { static void StartOwnTransactionWithinContext() { using (var context = new BloggingContext()) { using (var dbContextTransaction = context.Database.BeginTransaction()) { try { context.Database.ExecuteSqlCommand( @"UPDATE Blogs SET Rating = 5" + " WHERE Name LIKE '%Entity Framework%'" ); var query = context.Posts.Where(p => p.Blog.Rating >= 5); foreach (var post in query) { post.Title += "[Cool Blog]"; } context.SaveChanges(); dbContextTransaction.Commit(); } catch (Exception) { dbContextTransaction.Rollback(); } } } } } }
@dudu: 原来在context.Database属性里。谢谢