原生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才能切 ...
随机推荐
- session共享原理以及PHP 实现多网站共享用户SESSION 数据解决方案
参考自: http://www.cnblogs.com/qulinke/articles/6003049.html https://segmentfault.com/q/101000000578847 ...
- windows调试之命令行窗口问题
CProProcess::InitProProcess(_T("safeProcessDemo")); cout << "Enter 'q' to exit: ...
- CodeForces - 1209F Koala and Notebook(拆边+BFS)
题意:给定一个n个点m条边的无向图,边权分别为1-m,从起点1出发,每经过一条边就把边权以字符串的形式加入末尾,求到达其他每个点的最小字符串(长度不同的短的更小,否则字典序小的更小). 思路很巧妙,将 ...
- [Python之路] HTTP协议复习笔记
一.HTTP请求的直观了解 我们使用网络调试助手来模拟一个TCP Server,然后使用浏览器来访问对应的IP:Port. 启动后,我们使用谷歌浏览器来访问192.168.1.8:8080: 我们可以 ...
- [Linux系统] (5)系统网络
一.路由表 路由表是如何决策的: [root@centos-clone1 ~]# route -n Kernel IP routing table Destination Gateway Genmas ...
- HTML+CSS知识总结2
一.position:absolute和float属性的异同 相同点:两者都可以让元素脱离文档流,并可设置宽高 不同点:float仍会占据位置,而position:absolute会覆盖文档流中其他元 ...
- POJ 1182食物链(并查集)
食物链Time Limit: 1000MS Memory Limit: 10000KTotal Submissions: 85474 Accepted: 25549Description动物王国中有三 ...
- gwyh 测试赛 验题人 - 题解 (非std做法)
测试赛 - ljc20020730 解题报告 标签(空格分隔): solution Task A Tiat's easy question 首先,判断图中是否存在长度为奇数的环等价于判断图是否为二分图 ...
- sh_10_字典基本使用
sh_10_字典基本使用 xiaoming_dict = {"name": "小明"} # 1. 取值 print(xiaoming_dict["na ...
- cmake 简单操作
实例一: main.c #include <stdio.h> int main( int argc, char *argv[] ) { printf("hello cmake!\ ...