zoukankan      html  css  js  c++  java
  • 原生dapper中新增用户后根据用户id,在用户角色表中添加关联数据,事务处理

    var result = 0;
    var userId = 0;
    using (var db = _Sql.Connection)
    using (var tran =db.BeginTransaction())
    {
    var insertUserActionSql = @"INSERT INTO [dbo].[Base_User]
    ([UserName]
    ,[Password]
    ,[PhoneNumber]
    ,[Email]
    ,[IsDeleted]
    ,[CreateDate]
    ,[CreateUserId]
    ,[CreateUserName]
    ,[ModifyDate]
    ,[ModifyUserId]
    ,[ModifyUserName])
    VALUES
    (@UserName
    ,@Password
    ,@PhoneNumber
    ,@Email
    ,@IsDeleted
    ,@CreateDate
    ,@CreateUserId
    ,@CreateUserName
    ,@ModifyDate
    ,@ModifyUserId
    ,@ModifyUserName); SELECT CAST(SCOPE_IDENTITY() AS BIGINT) AS [UserId] "; //必须这么写才行 不能用@@identity 方式,dapper不支持 

    var insertUserRoler = @" INSERT INTO [dbo].[Base_UserRole]([UserId],[RoleId]) VALUES(@UserId,@RoleId)";
    try
    {

    userId = db.ExecuteScalar<int>(insertUserActionSql, editViewModel, tran);

    result = db.Execute(insertUserRoler, new { UserId = userId, RoleId = editViewModel.RoleId },tran);
    tran.Commit();
    }
    catch (SqlException ex)
    {
    tran.Rollback();
    LogHelper.AddErrorLog("Create", this.GetType(), ex);
    return false;
    }
    catch (Exception ex)
    {
    tran.Rollback();
    LogHelper.AddErrorLog("Create", this.GetType(), ex);
    return false;
    }
    }//end using
    return result > 0;

  • 相关阅读:
    java Math类方法使用
    线性逻辑回归与非线性逻辑回归pytorch+sklearn
    Java学习方向
    ubuntu16.04安装Anaconda+Pycharm+Pytorch
    迁移学习resnet
    简单的CNN图像分类datasets.MNIST/FashionMNIST
    pytorch学习2
    tools/build.c
    zBoot/Makefile
    tools/version.c
  • 原文地址:https://www.cnblogs.com/Tom-yi/p/7743220.html
Copyright © 2011-2022 走看看