您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“怎么用Dapper”,內容詳細,步驟清晰,細節處理妥當,希望這篇“怎么用Dapper”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
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”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。