zoukankan      html  css  js  c++  java
  • LinqToSql和ASP.NET Entity FrameWork 中使用事务

    ASP.NET Entity FrameWork中:
    int flag = -1;
          if (this.URPmanagementEntities1.Connection.State != System.Data.ConnectionState.Open)
          {
            this.URPmanagementEntities1.Connection.Open();
          }
          var trans = this.URPmanagementEntities1.Connection.BeginTransaction();
          try
          {
            //这里进行添加数据操作 begin
            urpentity.AddToT_ArticleCatalog(articlecatalog);
            urpentity.SaveChanges();
            T_Article article=new T_Article();
            article.CatalogID=articlecatalog.id;
      urpentity.AddToT_Article(article);               
            this.DbEntity.SaveChanges();
            trans.Commit();
            flag = 0;
          }
          catch (Exception ex)
          {
            trans.Rollback();
            throw ex;
          }
          finally
          {
            if (this.DbEntity.Connection.State != System.Data.ConnectionState.Closed)
            {
              this.DbEntity.Connection.Close();
             }
          }
          return flag;
     
    LinqToSql中使用事务类似:
    事务的使用有两种方法:
    如果不想使用默认的事务设置,比如想改变事务的孤立级别,我们可以给DataContext的Transaction属性赋值,以此使用自定义的事务。
      ctx.Transaction = ctx.Connection.BeginTransaction(System.Data.IsolationLevel.Serializable);
      try
      {
          ctx.SubmitChanges();
          ctx.Transaction.Commit();
      }
      catch
      {
          ctx.Transaction.Rollback();
          throw;
      }
      finally
      {
          ctx.Transaction = null;
      }
    

    最后一种方式是通过TransactionScope创建轻量级事务,就像在ADO.NET中使用一样:

     using (TransactionScope scope = new TransactionScope())
     {
         ctx.SubmitChanges();
         scope.Complete();
    
     }
     
  • 相关阅读:
    Cookie和Session
    Servlet中关于中文乱码
    单例模式
    document对象-操作元素的文档结构
    JS实现简单的多选选项的全选反选按钮
    js实现表单验证
    servlet
    http(Hyper Text Transfer Protocol)
    Vue之webpack打包
    Flink用户画像系统之实时品牌爱好
  • 原文地址:https://www.cnblogs.com/flyaway100/p/3483253.html
Copyright © 2011-2022 走看看