原生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;
原生dapper中新增用户后根据用户id,在用户角色表中添加关联数据,事务处理的更多相关文章
- python实现二叉树的建立以及遍历(递归前序、中序、后序遍历,队栈前序、中序、后序、层次遍历)
#-*- coding:utf-8 -*- class Node: def __init__(self,data): self.data=data self.lchild=None self.rchi ...
- Ubuntu下创建新用户后,不能使用管理员用户下安装的Anaconda
解决办法: 将管理员用户下Anaconda的安装环境添加到新用户下的环境变量里,具体操作: 系统切换到新用户下: vim .bashrc #添加Anaconda的环境变量 source .bashrc ...
- Oracle 中新增字段后patch
begin ad_zd_table.patch('APPLSYS', 'CUX_3_GL_FARMER_BALANCE'); end ;
- js中全局变量修改后的值不生效【jsp页面中各个js中内容的加载顺序】
一个老项目中,一个jsp文件中有很多个js文件, 现在要在页面上的一个地方判断一个状态,因为一直找不到原来是在哪里修改的那个状态,所以决定不找了,而是在比较靠前引入的一个js中定义一个全局变量,然后在 ...
- c/c++ 用前序和中序,或者中序和后序,创建二叉树
c/c++ 用前序和中序,或者中序和后序,创建二叉树 用前序和中序创建二叉树 //用没有结束标记的char*, clr为前序,lcr为中序来创建树 //前序的第一个字符一定是root节点,然后去中序字 ...
- 034-openstack中虚拟机启动后主机名设置问题
openstack中虚拟机启动后主机名设置问题,在centos7中设置hostname后怎么都是原来的hostname,根本无效. 方法一: 在centos7中除了修改hosts文件和network文 ...
- 在Linux中新增与删除用户可以使用命令:Useradd
在Linux中新增与删除用户可以使用命令:Useradd 我们先使用man命令理解一下Useradd的用法 新增与删除用户操作需要先获取高级用户权限 输入命令:sudo -i 确定后输入高级用户密码 ...
- Sqlserver------SQLServer2008R2中新增用户并设定表的访问权限
在进行项目对接时,有时候处于系统安全性考虑,我们需要设置数据库的访问权限,这个时候,我们可以新增一个用户,然后设定用户的访问权限,具体步骤如下: 1, 新建登录对象 2, 点击用户映射 3, 操 ...
- 【转】【Android测试技巧】01. root后adb shell默认不是root用户时,如何将文件放入手机系统中
http://blog.csdn.net/wirelessqa/article/details/8624208 有些机器root后通过adb shell 后,默认不是root用户,需要输入 su才能切 ...
随机推荐
- 转(static final 和final的区别)
学习java的时候常常会被修饰符搞糊涂,这里总结下static final和final的区别. 1.static 强调只有一份,final 说明是一个常量,final定义的基本类型的值是不可改变的,但 ...
- Java 基础知识点滴(1)
1. ==与equals的区别 ==是用来判断两个变量的值是否相等.要比较两个基本变量或引用变量是否相等,只能用==: equal用来判断两个独立对象里面的内容是否一样. 例子: String s1 ...
- Spring资源
资源 官网:http://spring.io 文档:https://docs.spring.io/spring/docs/current/spring-framework-reference/.htt ...
- Django-ORM和MySQL事务及三大范式介绍
Django中操作操作数据库这里需要改一个数据: 模型层:就是与跟数据库打交道 ORM查询: 一.单表操作必知必会13条: orm默认都是惰性查询: 1.all() 查询所有 2.filter() 筛 ...
- 2019春Python程序设计测试(20190604--20190604)
1-1 在Python 3.x中可以使用中文作为变量名. (2分) T F 1-2 Python变量使用前必须先声明,并且一旦声明就不能再当前作用域内改变其类型.(2分) T ...
- re.compile 函数
re.compile 函数 compile 函数用于编译正则表达式,生成一个正则表达式( Pattern )对象,供 match() 和 search() 这两个函数使用. 语法格式为: re.com ...
- H5+JAVA的文件上传,断点续传
这里只写后端的代码,基本的思想就是,前端将文件分片,然后每次访问上传接口的时候,向后端传入参数:当前为第几块文件,和分片总数 下面直接贴代码吧,一些难懂的我大部分都加上注释了: 上传文件实体类: 看得 ...
- Springboot 注册拦截器
拦截器 创建myInterceptor类 import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSer ...
- ABP .net Core MQTT+signalr通讯
abp版本: 4.3.0.0 .net core 版本 2.2 1.Mqtt 1.1 添加程序集:M2MqttDotnetCore(差点以为没有.net core 的) 2.2 实现代码:抄了个单例模 ...
- Class constructor FileManager cannot be invoked without 'new' in undefined (line undefined, column undefined)
解决办法: 1.删除package.json属性devDependencies的 less 和 less-loader ; 2.重新安装 npm i less less-loader --save-d ...