返回顶部
首页 > 资讯 > 后端开发 > ASP.NET >轻量级ORM框架Dapper应用支持操作函数和事物
  • 131
分享到

轻量级ORM框架Dapper应用支持操作函数和事物

2024-04-02 19:04:59 131人浏览 薄情痞子
摘要

dapper除了支持基础的CURD、存储过程以外,还支持操作函数和事物。 dapper操作函数的代码如下: using Dapper; using System; using Sys

dapper除了支持基础的CURD、存储过程以外,还支持操作函数和事物。

dapper操作函数的代码如下:

using Dapper;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.sqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DapperDemo
{
    public static class OperFunction
    {
        /// <summary>
        /// Dapper滴调用函数
        /// </summary>
        public static void ExecuteFunction()
        {
            // 连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
            // connection对象
            IDbConnection dbConnection = new SqlConnection(strCon);
            // 定义参数
            DynamicParameters paras = new DynamicParameters();
            paras.Add("@num1", 34);
            paras.Add("@num2", 456);
            // 返回值
            paras.Add("@sum", 0, DbType.Int32, ParameterDirection.ReturnValue);
            string functionName = "fun_test";
            // 执行
            int count = dbConnection.Execute(functionName, paras, null, null, CommandType.StoredProcedure);
            // 获取输出参数的值
            int sum = paras.Get<int>("@sum");
            Console.WriteLine("sum:" + sum);//输出390
        }
    }
}

dapper支持事物的代码如下:

using Dapper;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DapperDemo
{
    public static class OperTransaction
    {
        /// <summary>
        /// Dapper支持事物
        /// </summary>
        public static void ExecuteTransaction()
        {
            // 连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
            // connection对象
            IDbConnection dbConnection = new SqlConnection(strCon);
            string strSQL = "DELETE FROM Student WHERE StudentID=@StudentID";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("@StudentID", 3);
            // 在BeginTransaction之前要打开连接,否则报错:无效操作,连接已关闭
            dbConnection.Open();
            // 开启事物
            IDbTransaction transaction = dbConnection.BeginTransaction();
            try
            {
                dbConnection.Execute(strSQL, paras, transaction: transaction);
                // 提交事务
                transaction.Commit();
            }
            catch (Exception ex)
            {
                // 回滚事物
                transaction.Rollback();
            }
        }
    }
}

Dapper除了支持Transaction以外,还支持Transactionscope:

public static void ExecuteTransactionScope()
{
      using (var transactionscope = new TransactionScope(TransactionScopeOption.Required))
      {
            // 连接字符串
            string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
            // connection对象
            IDbConnection dbConnection = new SqlConnection(strCon);
            string strSQL = "DELETE FROM Student WHERE StudentID=@StudentID";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("@StudentID", 6);
            dbConnection.Open();
            try
            {
                dbConnection.Execute(strSQL, paras);
                transactionscope.Complete();
            }
            catch (Exception ex)
            {
                // 不提交事务默认自动回滚
                Console.WriteLine(ex.Message);
            }
      }
}

到此这篇关于Dapper支持操作函数和事物的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: 轻量级ORM框架Dapper应用支持操作函数和事物

本文链接: https://lsjlt.com/news/141774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 轻量级ORM框架Dapper应用支持操作函数和事物
    dapper除了支持基础的CURD、存储过程以外,还支持操作函数和事物。 dapper操作函数的代码如下: using Dapper; using System; using Sys...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之Dapper支持存储过程
    在Entity Framework中讲解了EF如何支持存储过程,同样,Dapper也支持存储过程,只需要在Query()方法的CommandType中标记使用的是存储过程就可以了。在...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之实现In操作
    IN 操作符允许我们在 WHERE 子句中规定多个值。 本篇文章中,还是使用和上篇文章中同样的实体类和数据库,Dapper使用in操作符的代码如下: using System...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之实现CURD操作
    在上一篇文章中,讲解了如何安装Dapper,这篇文章中将会讲解如何使用Dapper使用CURD操作。 例子中使用到的实体类定义如下: using System; using Syst...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之实现Join操作
    在这篇文章中,讲解如何使用Dapper使用Inner join的操作 1、新创建两张表:Users表和Product表 Users表定义如下: CREATE TABLE [dbo]....
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之安装Dapper
    一、Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS。 如果你在项目中遇到性能访问...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用实现In操作的方法
    本篇内容介绍了“轻量级ORM框架Dapper应用实现In操作的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Dapper使用in操作符的...
    99+
    2023-06-29
  • 轻量级ORM框架Dapper应用之实现DTO
    一、什么是DTO 先来看看百度百科的解释: 数据传输对象(DTO)(Data Transfer Object),是一种设计模式之间传输数据的软件应用系统。数据传输目标往往是数据访问对...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用之返回多个结果集
    使用Dapper的QueryMultiple方法可以一次执行多条SQL语句,返回多个结果集,代码如下 using System; using System.Collections.G...
    99+
    2024-04-02
  • 轻量级ORM框架Dapper应用怎么返回多个结果集
    这篇“轻量级ORM框架Dapper应用怎么返回多个结果集”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“轻量级ORM框架Dap...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作