当前位置: 代码迷 >> .NET Framework >> 在Entity Framework中使用事宜
  详细解决方案

在Entity Framework中使用事宜

热度:90   发布时间:2016-05-01 23:27:34.0
在Entity Framework中使用事务

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

示例代码如下:

复制代码
using (BlogDbContext context =new BlogDbContext())
{
using (TransactionScope transaction =new TransactionScope())
    {
        context.BlogPosts.Add(blogPost);
        context.SaveChanges();
        postBody.ID
= blogPost.ID;
        context.EntryViewCounts.Add(
new EntryViewCount() { EntryID = blogPost.ID });
        context.PostBodys.Add(postBody);
        context.SaveChanges();
//提交事务
        transaction.Complete();
    }
}
复制代码

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

【更新】

更好的解决方法见 Working with Transactions (EF6 Onwards)

  相关解决方案