写在前面


上一小节,总结了事务多表更新的两种方法。一个是只更新原来的数据,一个是先删除原来的数据再往里面添加新的数据。而这一小节,说的是事务的多表删除。

实现步骤


1.在BorrowBook控制器中 创建Del方法 执行删除单表记录

/// <summary>
/// 删除单表数据
/// </summary>
/// <param name="Id">参数Id</param>
/// <returns>成功返回1,失败返回0</returns>
public int Del(string Id)
{
int result = 0;
string sql_del = "delete from sys_Borrow_Book where book_Id=?book_Id";
//动态参数
DynamicParameters pr = new DynamicParameters();
pr.Add("?book_Id", Id);
result = DapperDBContext.Execute(sql_del, pr);
return result;
}

2.在BorrowBook控制器中 创建Dels方法 执行删除多表记录

/// <summary>
/// 删除多表数据
/// </summary>
/// <param name="Id">参数Id</param>
/// <returns>成功返回1,失败返回0</returns>
public int Dels(string Id)
{
int result = 0;
string sql_del = "delete from sys_Borrow_Book where book_Type_id=?id";
string sql_dels = "delete from sys_Book_Type where book_Type_id=?id";
var para = new List<Tuple<string, object>>();
Tuple<string, object> temp1;
//动态参数
DynamicParameters pr = new DynamicParameters();
pr.Add("?book_Id", Id);
temp1 = new Tuple<string, object>(sql_del, pr);
para.Add(temp1);
temp1 = new Tuple<string, object>(sql_dels, pr);
para.Add(temp1);
bool boolresult = DapperDBContext.ExecuteTransaction(para).Item1;
if (boolresult == true) { result = 1; }
return result;
}

3.在View视图中 加载数据Load方法拼接字符串最后

/*删除*/
$(".btndel").click(function () {
var Id = $(this).attr("id");
if (Id != null) {
layer.confirm('是否确定删除?', {
btn: ['确定', '取消'] //按钮
}, function () {
$.get("../BorrowBook/Del?Id=" + Id, function (msg) {
if (msg > 0) { layer.msg("删除成功!", { icon: 1 }); Load(); }
else { layer.msg("删除失败!", { icon: 2 }); return; }
});
});
}
else { layer.msg("未选择删除记录", { icon: 3 }); return;}
});

写在最后


至此,整个项目的搭建和功能的已经全部实现。

注意:

此次的实践,只在开发环境中测试过。没有认真的在生产环境中测试过。所以,还会有存在不少的问题。仅供实现思路的参考。

.net Dapper 实践系列(6) ---事务删除(Layui+Ajax+Dapper+MySQL)的更多相关文章

  1. .net Dapper 实践系列(2) ---事务添加(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 问题描述 解决方法 具体实现 写在前面 前面我们已经搭建好了项目,这一小节我们使用Dapper 中的事务实现一对多的添加操作. 问题描述 在做添加的时候很头疼需要从页面传递一组数据到后 ...

  2. .net Dapper 实践系列(5) ---事务编辑(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 实践步骤 写在前面 上一小节,我们总结了根据Id查询多表数据,最后返回Json对象给前台的例子.接下来,在这一小节我们要实现多表编辑的操作. 实践步骤 因为上一小节以及创建了Edit视 ...

  3. .net Dapper 实践系列(1) ---项目搭建(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 一.前期准备 1.在MySQL创建数据库 2.创建项目 3.安装程序包 4.添加插件 5.添加DbOption文件夹 6.添加实体类 写在前面 学习并实践使用Dapper 这个小型的O ...

  4. .net Dapper 实践系列(4) ---数据查询(Layui+Ajax+Dapper+MySQL)

    写在前面 上一小节,总结了数据显示时,会出现的日期问题.以及如何处理格式化日期.这个小节,主要总结的是使用Dapper 中的QueryMultiple方法依次显示查询多表的数据. 实践步骤 1.在Bo ...

  5. .net Dapper 实践系列(3) ---数据显示(Layui+Ajax+Dapper+MySQL)

    目录 写在前面 产生问题 解决方案 写在前面 上一小节,我们使用Dapper 里事务实现了一对多关系的添加.这一小节,主要记录如何使用Dapper 实现多表的查询显示. 产生问题 在mvc控制器中查询 ...

  6. .net Dapper 学习系列(2) ---Dapper进阶

    目录 写在前面 前期准备 Dapper 单表批量添加 在Dapper 多表查询 在Dapper 调用存储过程 在Dapper 使用QueryMultiple进行多表查询 在Dapper 使用事务进行多 ...

  7. CRL快速开发框架系列教程四(删除数据)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

  8. ASP.NET Web API实践系列04,通过Route等特性设置路由

    ASP.NET Web API路由,简单来说,就是把客户端请求映射到对应的Action上的过程.在"ASP.NET Web API实践系列03,路由模版, 路由惯例, 路由设置"一 ...

  9. .net core实践系列之短信服务-架构设计

    前言 上篇<.net core实践系列之短信服务-为什么选择.net core(开篇)>简单的介绍了(水了一篇).net core.这次针对短信服务的架构设计和技术栈的简析. 源码地址:h ...

随机推荐

  1. 《linux就该这么学》课堂笔记14 Apache、SELinux、虚拟主机

    1.目前能够提供Web网络服务的程序有IIS(Windows系统中默认的Web服务程序,是一款图形化的网站管理工具).Nginx和Apache(RHEL 7系统中默认的Web服务程序)等. Apach ...

  2. USB驱动程序涉及的概念及框架

    引入:当我们把一个USB设备接入PC机时,会出现什么样的现象? 现象:把USB设备接到PC1.右下角弹出“发现android phone”2.跳出一个对话框,提示你安装驱动程序 首先来看一下,USB驱 ...

  3. Logstash 学习资料

    学习资料 网址 Logstash Reference(官方) https://www.elastic.co/guide/en/logstash/current/introduction.html

  4. 14-cmake语法-循环

    循环: foreach set(VAR a b c) foreach(f ${VAR}) message(${f}) endforeach() while set(VAR 5) while(${VAR ...

  5. .eslintrc的配置

    { // 环境定义了预定义的全局变量. "env": { //环境定义了预定义的全局变量.更多在官网查看 "browser": true, "node ...

  6. django @login_required登录限制(2)-返回登陆成功后的页面

    本次要实现的功能是,访问未登录的视图函数,需要先跳转到登录页面,登陆成功在跳转回来. 之前在网上找了很多资料,都没有找到解决方案. 跳转到登录页面很好弄,就是登陆成功跳转回来出了问题,原因是登录后的p ...

  7. 第10组 Beta冲刺(3/4)

    队名:凹凸曼 组长博客 作业博客 组员实践情况 童景霖 过去两天完成了哪些任务 文字/口头描述 继续学习Android studio和Java 制作剩余界面前端 展示GitHub当日代码/文档签入记录 ...

  8. Java集合详解2:一文读懂Queue和LinkedList

    <Java集合详解系列>是我在完成夯实Java基础篇的系列博客后准备开始写的新系列. 这些文章将整理到我在GitHub上的<Java面试指南>仓库,更多精彩内容请到我的仓库里查 ...

  9. filbeat遇到的坑(运行久和文件数据量多时候 )

    1.现像,吃cpu,&& io 过程:量大的时候发现在filbeat很吃io, 原因: 日志量文件数太多,因为日志是2m一个文件 ,一天几十个G 开始怀疑是centos  6的问题,, ...

  10. IDEA-Maven的Dependencies中出现红色波浪线

    解决方法:移除相关依赖,再重新添加即可 情况及具体解决方法如下:1.在Maven Project中 Dependencies 出现红色波浪线 2.查询本地仓库:jar包已存在 3.解决方法:3.1.从 ...