輕量級(jí)ORM框架Dapper應(yīng)用之Dapper支持存儲(chǔ)過(guò)程
在Entity Framework中講解了EF如何支持存儲(chǔ)過(guò)程,同樣,Dapper也支持存儲(chǔ)過(guò)程,只需要在Query()方法的CommandType中標(biāo)記使用的是存儲(chǔ)過(guò)程就可以了。在Users表上面創(chuàng)建如下的存儲(chǔ)過(guò)程:
CREATE proc sp_GetUserByUserName @UserName varchar(16) as begin select * FROM Users WHERE UserName=@UserName end GO
調(diào)用存儲(chǔ)過(guò)程的代碼如下:
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)行過(guò)程:

注意:例子中只演示了使用一個(gè)參數(shù)的存儲(chǔ)過(guò)程,如果有多個(gè)參數(shù)使用方法也一樣。
示例代碼下載地址:點(diǎn)此下載
使用Execute執(zhí)行帶輸出參數(shù)的存儲(chǔ)過(guò)程
創(chuàng)建存儲(chǔ)過(guò)程如下:
CREATE proc procWithOutPara @num1 int, @num2 int, @sum int output as begin set @sum=@num1+@num2 end GO
dapper調(diào)用存儲(chǔ)過(guò)程代碼如下:
// 動(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ǔ)過(guò)程
dbConnection.Execute("procWithOutPara", paras, commandType: CommandType.StoredProcedure);
// 獲取輸出參數(shù)的值
int sum = paras.Get<int>("@sum");//68到此這篇關(guān)于Dapper支持存儲(chǔ)過(guò)程的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 輕量級(jí)ORM框架Dapper應(yīng)用支持操作函數(shù)和事物
- 輕量級(jí)ORM框架Dapper應(yīng)用之實(shí)現(xiàn)Join操作
- 輕量級(jí)ORM框架Dapper應(yīng)用之返回多個(gè)結(jié)果集
- 輕量級(jí)ORM框架Dapper應(yīng)用之實(shí)現(xiàn)In操作
- 輕量級(jí)ORM框架Dapper應(yīng)用之實(shí)現(xiàn)CURD操作
- 輕量級(jí)ORM框架Dapper應(yīng)用之安裝Dapper
- ORM框架之Dapper簡(jiǎn)介和性能測(cè)試
- 輕量級(jí)ORM框架Dapper應(yīng)用之實(shí)現(xiàn)DTO
相關(guān)文章
.NET?ORM框架SqlSugar實(shí)現(xiàn)導(dǎo)航查詢功能
今天這篇文章分享一款好用簡(jiǎn)單的ORM框架?SqlSugar,相比?EF?Core的導(dǎo)航查詢更加簡(jiǎn)單,配置更加容易,幾分鐘就能上手,對(duì).NET?ORM框架SqlSugar實(shí)現(xiàn)導(dǎo)航查詢功能感興趣的朋友一起看看吧2022-04-04
.net中自定義錯(cuò)誤頁(yè)面的實(shí)現(xiàn)升級(jí)篇
這篇文章主要給大家介紹了關(guān)于.net中自定義錯(cuò)誤頁(yè)面實(shí)現(xiàn)的相關(guān)資料,這篇文章是之前的升級(jí)篇,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-06-06
ASP.NET?MVC5網(wǎng)站開(kāi)發(fā)顯示文章列表(九)
顯示文章列表分兩塊,管理員可以顯示全部文章列表,一般用戶只顯示自己的文章列表。文章列表的顯示采用easyui-datagrid,后臺(tái)需要與之對(duì)應(yīng)的action返回json類型數(shù)據(jù),感興趣的小伙伴們可以參考一下2015-09-09
.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法
這篇文章主要介紹了.Net實(shí)現(xiàn)上傳圖片按比例自動(dòng)縮小或放大的方法,實(shí)例內(nèi)容簡(jiǎn)潔功能實(shí)用,需要的朋友可以參考下2014-09-09
asp.net和ajax實(shí)現(xiàn)智能搜索功能代碼
近來(lái)一直在開(kāi)發(fā)股票模擬系統(tǒng),終于告一段落了,回想起來(lái)感慨很多。突然想應(yīng)該做點(diǎn)總結(jié)了,想來(lái)想去還是覺(jué)得通過(guò)寫(xiě)點(diǎn)日志來(lái)把相關(guān)的知識(shí)點(diǎn)記錄下來(lái),下面就我在項(xiàng)目中經(jīng)常用到的動(dòng)態(tài)提示搜索選項(xiàng)功能的實(shí)現(xiàn)。2010-03-03
ASP.NET中控件的EnableViewState屬性及徹底禁用
如果我們?cè)陂_(kāi)發(fā)Web應(yīng)用程序時(shí),某些控件是不需要接受用戶的操作或只需要接受一次操作的時(shí)候,我們可以將這些控件的EnableViewState屬性改為false,這樣可以優(yōu)化我們的程序,提高網(wǎng)絡(luò)訪問(wèn)的速度。2016-06-06
Asp.Net Couchbase Memcached圖文安裝調(diào)用開(kāi)發(fā)
本文主要是是如何安裝CouchBase服務(wù)端,以及客戶端如何進(jìn)行調(diào)用。圖文詳解,大家參考吧2013-11-11
關(guān)于.net(C#)中的跨進(jìn)程訪問(wèn)的問(wèn)題
C# 跨進(jìn)程訪問(wèn)實(shí)現(xiàn)代碼。2009-04-04
asp.net窗體的打開(kāi)和關(guān)閉(輸出js)
asp.net窗體的打開(kāi)和關(guān)閉(輸出js),需要的朋友可以參考下。2011-06-06

