輕量級ORM框架Dapper應用之Dapper支持存儲過程
更新時間:2022年03月07日 08:53:13 作者:.NET開發(fā)菜鳥
這篇文章介紹了Dapper支持使用存儲過程的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
在Entity Framework中講解了EF如何支持存儲過程,同樣,Dapper也支持存儲過程,只需要在Query()方法的CommandType中標記使用的是存儲過程就可以了。在Users表上面創(chuàng)建如下的存儲過程:
CREATE proc sp_GetUserByUserName @UserName varchar(16) as begin select * FROM Users WHERE UserName=@UserName end GO
調用存儲過程的代碼如下:
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 = "風清揚" }, commandType: CommandType.StoredProcedure);
// 輸出
query.AsList().ForEach(p =>
{
Console.WriteLine("姓名:"+p.UserName+",郵箱:"+p.Email+",地址:"+p.Address);
});
}
Console.ReadKey();
}
}
}運行過程:

注意:例子中只演示了使用一個參數的存儲過程,如果有多個參數使用方法也一樣。
示例代碼下載地址:點此下載
使用Execute執(zhí)行帶輸出參數的存儲過程
創(chuàng)建存儲過程如下:
CREATE proc procWithOutPara @num1 int, @num2 int, @sum int output as begin set @sum=@num1+@num2 end GO
dapper調用存儲過程代碼如下:
// 動態(tài)類型參數
DynamicParameters paras = new DynamicParameters();
paras.Add("@num1", 23);
paras.Add("@num2", 45);
paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是輸出參數,這里為指明參數類型大小
// 執(zhí)行存儲過程
dbConnection.Execute("procWithOutPara", paras, commandType: CommandType.StoredProcedure);
// 獲取輸出參數的值
int sum = paras.Get<int>("@sum");//68到此這篇關于Dapper支持存儲過程的文章就介紹到這了。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
ASP.NET中控件的EnableViewState屬性及徹底禁用
如果我們在開發(fā)Web應用程序時,某些控件是不需要接受用戶的操作或只需要接受一次操作的時候,我們可以將這些控件的EnableViewState屬性改為false,這樣可以優(yōu)化我們的程序,提高網絡訪問的速度。2016-06-06
Asp.Net Couchbase Memcached圖文安裝調用開發(fā)
本文主要是是如何安裝CouchBase服務端,以及客戶端如何進行調用。圖文詳解,大家參考吧2013-11-11

