zoukankan      html  css  js  c++  java
  • EF 事务(非分布式事务)

    在EF 中怎么使用事务?

    这个问题纠结了我好久,直到有人跟我一起讨论,我和同事一起讨论查资料。

    查的好多资料都是使用 TransactionScope,用 TransactionScope 可处理分布式事务。

    using (TransactionScope scope = new TransactionScope())  
    {  
      //具体代码内容
        scope.Complete();  
    }  

    这种方式可处理分布式事务。
    而我在实际使用中是没法使用的。

    所以我就一直找其他的方式,无意中看到某个网站的的database,然后我就采用了下面的方式:

    using (var dbContext = new TopOnlineDbContext())
                {
                    using (var scope = dbContext.Database.BeginTransaction())
                    {
                        try
                        {
                            if (ids != null)
                            {
                                foreach (var id in ids)
                                {
                                    T t = dbContext.Find<T>(id);
                                    assfeedback.IsDel = true;
                                    dbContext.Update<T>(t);
                                }
                            }
                            scope.Commit();//正常完成就可以提交
                            return 0;
                        }
                        catch (Exception ex)
                        {
                            scope.Rollback();//发生异常就回滚
                            return -1;
                        }
                    }
                }

    转载的别人的:原文链接:http://www.cnblogs.com/dawenyang/p/5664597.html

    @陈卧龙的博客

  • 相关阅读:
    图的深度遍历
    判断森林中有多少棵树
    基于邻接矩阵的广度优先搜索
    第三届程序设计知识竞赛网络赛
    大数相乘
    a+b=x,ab=y
    poj3278
    不敢死队
    单链表中重复元素删除
    poj2506
  • 原文地址:https://www.cnblogs.com/chenwolong/p/7307293.html
Copyright © 2011-2022 走看看