r应用程序支持操作函数和东西_数据库
这篇文章介绍了Dapper支持操作函数和事物的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
Dapper不仅支持基本的凝乳和存储过程,还支持操作函数和东西。
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 { /// lt;summarygt; /// Dapper滴调用函数 /// lt;/summarygt; 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.Getlt;intgt;("@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 { /// lt;summarygt; /// Dapper支持事物 /// lt;/summarygt; 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还支持事务范围:
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对操作函数和东西的支持的这篇文章到此为止。希望对大家的学习有所帮助
本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。