輕量級ORM框架Dapper應(yīng)用之Dapper支持存儲(chǔ)過程
在Entity Framework中講解了EF如何支持存儲(chǔ)過程,同樣,Dapper也支持存儲(chǔ)過程,只需要在Query()方法的CommandType中標(biāo)記使用的是存儲(chǔ)過程就可以了。在Users表上面創(chuàng)建如下的存儲(chǔ)過程:
CREATE proc sp_GetUserByUserName @UserName varchar(16) as begin select * FROM Users WHERE UserName=@UserName end GO
調(diào)用存儲(chǔ)過程的代碼如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Data.SqlClient; using System.Configuration; using System.Data; using Dapper; using DapperApplicationProcedure.Model; namespace DapperApplicationProcedure { class Program { static void Main(string[] args) { // 連接字符串 string conn = ConfigurationManager.ConnectionStrings["AppConnection"].ConnectionString; using (IDbConnection connection = new SqlConnection(conn)) { var query = connection.Query<User>("sp_GetUserByUserName", new { UserName = "風(fēng)清揚(yáng)" }, commandType: CommandType.StoredProcedure); // 輸出 query.AsList().ForEach(p => { Console.WriteLine("姓名:"+p.UserName+",郵箱:"+p.Email+",地址:"+p.Address); }); } Console.ReadKey(); } } }
運(yùn)行過程:
注意:例子中只演示了使用一個(gè)參數(shù)的存儲(chǔ)過程,如果有多個(gè)參數(shù)使用方法也一樣。
示例代碼下載地址:點(diǎn)此下載
使用Execute執(zhí)行帶輸出參數(shù)的存儲(chǔ)過程
創(chuàng)建存儲(chǔ)過程如下:
CREATE proc procWithOutPara @num1 int, @num2 int, @sum int output as begin set @sum=@num1+@num2 end GO
dapper調(diào)用存儲(chǔ)過程代碼如下:
// 動(dòng)態(tài)類型參數(shù) DynamicParameters paras = new DynamicParameters(); paras.Add("@num1", 23); paras.Add("@num2", 45); paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是輸出參數(shù),這里為指明參數(shù)類型大小 // 執(zhí)行存儲(chǔ)過程 dbConnection.Execute("procWithOutPara", paras, commandType: CommandType.StoredProcedure); // 獲取輸出參數(shù)的值 int sum = paras.Get<int>("@sum");//68
到此這篇關(guān)于Dapper支持存儲(chǔ)過程的文章就介紹到這了。希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺(tái)服務(wù)
這篇文章主要介紹了ASP.NET?Core?6框架揭秘實(shí)例演示之如何承載你的后臺(tái)服務(wù),主要包括利用承載服務(wù)收集性能指標(biāo)、依賴注入的應(yīng)用、配置選項(xiàng)的應(yīng)用等知識點(diǎn),本文給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03用Html5與Asp.net MVC上傳多個(gè)文件的實(shí)現(xiàn)代碼
Html 5 的有一些File API,對Form表單增強(qiáng)的特性,讓我們輕松支持多文件上傳,看下面的Html片斷代碼2012-08-08.NET5控制臺(tái)程序使用EF連接MYSQL數(shù)據(jù)庫的方法
這篇文章主要介紹了.NET5控制臺(tái)程序使用EF連接MYSQL數(shù)據(jù)庫,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-08-08ASP.NET設(shè)計(jì)網(wǎng)絡(luò)硬盤之上傳文件實(shí)現(xiàn)代碼
用戶最終是要和文件打交道的,文件夾僅僅是用來方便管理的。文件的上傳和下載也就成為“網(wǎng)絡(luò)硬盤”功能設(shè)計(jì)中的重要一環(huán)2012-10-10asp.net 簡單驗(yàn)證碼驗(yàn)證實(shí)現(xiàn)代碼
網(wǎng)站開發(fā)一般登錄注冊的時(shí)候都要用到了 所以寫下來給大家參考參考2009-09-09ASP.NET使用WebService實(shí)現(xiàn)天氣預(yù)報(bào)功能
這篇文章主要為大家詳細(xì)介紹了ASP.NET使用WebService實(shí)現(xiàn)天氣預(yù)報(bào)功能的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-08-08