網(wǎng)站首頁(yè) 編程語(yǔ)言 正文
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 { ////// Dapper滴調(diào)用函數(shù) /// 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("@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 { ////// Dapper支持事物 /// 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ò):無(wú)效操作,連接已關(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); } } }
原文鏈接:https://www.cnblogs.com/dotnet261010/p/9076810.html
相關(guān)推薦
- 2022-04-28 shell命令之mv的具體使用_linux shell
- 2022-06-29 python人工智能tensorflow函數(shù)tf.get_collection使用方法_python
- 2022-03-31 C語(yǔ)言取模取整的深入理解_C 語(yǔ)言
- 2022-05-31 利用Python進(jìn)行數(shù)據(jù)清洗的操作指南_python
- 2022-08-12 Python打包成exe文件的詳細(xì)操作指南_python
- 2022-04-04 使用uniapp封裝簡(jiǎn)易通用的ajax請(qǐng)求以及攜帶token去請(qǐng)求 (代碼優(yōu)化新增請(qǐng)求日志和響應(yīng)日志
- 2023-11-22 Linux下設(shè)置環(huán)境變量
- 2022-06-01 分享3個(gè)簡(jiǎn)單的Python代碼高效運(yùn)行技巧_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡(jiǎn)單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支