.net Dapper 实践系列(6) ---事务删除(layui+mvc5+Dapper+MySQL)

·  阅读 203

写在前面

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

实现步骤

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;}
});

复制代码

写在最后

至此,整个项目的搭建和功能的已经全部实现。 注意: 此次的实践,只在开发环境中测试过。没有认真的在生产环境中测试过。所以,还会有存在不少的问题。仅供实现思路的参考。

未完,待续...

分类:
后端
标签: