继续为想使用Entity Framework的朋友在前面探路,分享的东西虽然技术含量不高,但都是经过实践检验的。

在Entity Framework中使用事务很简单,将操作放在TransactionScope中,并通过Complete()方法提交事务即可。

示例代码如下:

TransactionScope的命名空间在System.Transactions下 
 1 using (BlogDbContext context =new BlogDbContext())
 2 {
 3 using (TransactionScope transaction =new TransactionScope())
 4 {
 5 context.BlogPosts.Add(blogPost);
 6 context.SaveChanges();
 7 postBody.ID = blogPost.ID;
 8 context.EntryViewCounts.Add(
 9 new EntryViewCount() { EntryID = blogPost.ID });
10 context.PostBodys.Add(postBody);
11 context.SaveChanges();
12 //提交事务
13 transaction.Complete();
14 } 
15 }

经过测试验证,在transaction.Complete()之前的代码中只要出现异常,事务就会回滚。

posted on 2014-04-02 12:00  随心所意  阅读(300)  评论(1编辑  收藏  举报