最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

輕量級(jí)ORM框架Dapper應(yīng)用支持操作函數(shù)和事物

 更新時(shí)間:2022年03月08日 16:07:39   作者:.NET開發(fā)菜鳥  
這篇文章介紹了Dapper支持操作函數(shù)和事物的方法,文中通過示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

dapper除了支持基礎(chǔ)的CURD、存儲(chǔ)過程以外,還支持操作函數(shù)和事物。

dapper操作函數(shù)的代碼如下:

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滴調(diào)用函數(shù)
        /// </summary>
        public static void ExecuteFunction()
        {
            // 連接字符串
            string strCon = ConfigurationManager.ConnectionStrings["DbConnection"].ConnectionString;
            // connection對(duì)象
            IDbConnection dbConnection = new SqlConnection(strCon);
            // 定義參數(shù)
            DynamicParameters paras = new DynamicParameters();
            paras.Add("@num1", 34);
            paras.Add("@num2", 456);
            // 返回值
            paras.Add("@sum", 0, DbType.Int32, ParameterDirection.ReturnValue);
            string functionName = "fun_test";
            // 執(zhí)行
            int count = dbConnection.Execute(functionName, paras, null, null, CommandType.StoredProcedure);
            // 獲取輸出參數(shù)的值
            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對(duì)象
            IDbConnection dbConnection = new SqlConnection(strCon);
            string strSQL = "DELETE FROM Student WHERE StudentID=@StudentID";
            DynamicParameters paras = new DynamicParameters();
            paras.Add("@StudentID", 3);
            // 在BeginTransaction之前要打開連接,否則報(bào)錯(cuò):無效操作,連接已關(guān)閉
            dbConnection.Open();
            // 開啟事物
            IDbTransaction transaction = dbConnection.BeginTransaction();
            try
            {
                dbConnection.Execute(strSQL, paras, transaction: transaction);
                // 提交事務(wù)
                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對(duì)象
            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)
            {
                // 不提交事務(wù)默認(rèn)自動(dòng)回滾
                Console.WriteLine(ex.Message);
            }
      }
}

到此這篇關(guān)于Dapper支持操作函數(shù)和事物的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

巴彦县| 乐亭县| 贵阳市| 韩城市| 兴隆县| 沙雅县| 星子县| 定南县| 东辽县| 上饶县| 通海县| 承德县| 车险| 资溪县| 三明市| 鄱阳县| 太湖县| 武平县| 张北县| 航空| 育儿| 临城县| 黎城县| 桐梓县| 西平县| 余姚市| 弋阳县| 华池县| 铅山县| 米脂县| 英山县| 太仓市| 吐鲁番市| 台北县| 固始县| 密山市| 洛隆县| 新沂市| 电白县| 方山县| 灵川县|