轻量级ORM框架Dapper应用六:Dapper支持存储过程
在Entity Framework中讲解了EF如何支持存储过程,同样,Dapper也支持存储过程,只需要在Query()方法的CommandType中标记使用的是存储过程就可以了。在Users表上面创建如下的存储过程:
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();
}
}
}
运行过程:

注意:例子中只演示了使用一个参数的存储过程,如果有多个参数使用方法也一样。
示例代码下载地址:https://pan.baidu.com/s/1bpjR5cN
二、使用Execute执行带输出参数的存储过程
创建存储过程如下:
CREATE proc procWithOutPara
@num1 int,
@num2 int,
@sum int output
as
begin
set @sum=@num1+@num2
end
GO
dapper调用存储过程代码如下:
// 动态类型参数
DynamicParameters paras = new DynamicParameters();
paras.Add("@num1", );
paras.Add("@num2", );
paras.Add("@sum", , DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小
// 执行存储过程
dbConnection.Execute("procWithOutPara", paras, commandType: CommandType.StoredProcedure);
// 获取输出参数的值
int sum = paras.Get<int>("@sum");//
轻量级ORM框架Dapper应用六:Dapper支持存储过程的更多相关文章
- 轻量级ORM框架——第一篇:Dapper快速学习
我们都知道ORM全称叫做Object Relationship Mapper,也就是可以用object来map我们的db,而且市面上的orm框架有很多,其中有一个框架 叫做dapper,而且被称为th ...
- 轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
上一篇博文中我们快速的介绍了dapper的一些基本CURD操作,也是我们manipulate db不可或缺的最小单元,这一篇我们介绍下相对复杂 一点的操作,源码分析暂时就不在这里介绍了. 一:t ...
- 轻量级ORM框架初探-Dapper与PetaPoco的基本使用
一.EntityFramework EF是传统的ORM框架,也是一个比较重量级的ORM框架.这里仍然使用EF的原因在于为了突出轻量级ORM框架的性能,所谓有对比才有更优的选择. 1.1 准备一张数据库 ...
- .NET轻量级ORM框架Dapper入门精通
一.课程介绍 本次分享课程包含两个部分<.NET轻量级ORM框架Dapper修炼手册>和<.NET轻量级ORM框架Dapper葵花宝典>,阿笨将带领大家一起领略轻量级ORM框架 ...
- 轻量级ORM框架Dapper应用一:Dapper安装
一.Dapper简介 Dapper是一款轻量级ORM框架,为解决网站访问流量极高而产生的性能问题而构造,主要通过执行TSQL表达式而实现数据库的CQRS. 如果你在项目中遇到性能访问问题,选择Dapp ...
- C# 性能优化 之 秒表 Stopwatch。 Dapper一个和petapoco差不多的轻量级ORM框架
Sweet小马 小马同学的编程日记. C# 性能优化 之 秒表 Stopwatch. 生词解释:Diagnostics[,daɪəg'nɑstɪks] n.诊断学 using System.Diagn ...
- 分享自己写的基于Dapper的轻量级ORM框架~
1.说明 本项目是一个使用.NET Standard 2.0开发的,基于 Dapper 的轻量级 ORM 框架,包含基本的CRUD以及根据表达式进行一些操作的方法,目前只针对单表,不包含多表连接操作. ...
- .NET(C#)有哪些主流的ORM框架,SqlSugar,Dapper,EF还是...
前言 在以前的一篇文章中,为大家分享了<什么是ORM?为什么用ORM?浅析ORM的使用及利弊>.那么,在目前的.NET(C#)的世界里,有哪些主流的ORM,SqlSugar,Dapper, ...
- c# 轻量级ORM框架 实现(一)
发布一个自己写的一个轻量级ORM框架,本框架设计期初基于三层架构.所以从命名上来看,了解三层的朋友会很好理解. 设计该框架的目的:不想重复的写增删改查,把精力放到功能实现上. 发布改框架的原因:希望给 ...
- 轻量级ORM框架 QX_Frame.Bantina(二、框架使用方式介绍)
轻量级ORM框架QX_Frame.Bantina系列讲解(开源) 一.框架简介 http://www.cnblogs.com/qixiaoyizhan/p/7417467.html 二.框架使用方式介 ...
随机推荐
- 修改apache配置文件去除thinkphp url中的index.php(转)
例如你的原路径是 http://localhost/test/index.php/index/add那么现在的地址是 http://localhost/test/index/add如何去掉index. ...
- java IO 入门例子
import java.io.File; /** * File类型基本操作 */ /** * @author Administrator * */ public class FileDemo { /* ...
- 简单的WPS二次开发脚本
详细信息见:http://bbs.wps.cn/thread-22427301-1-1.html 下载:WPS2013专业版:WPS2013Pro_normal.exe 调用脚本(xl.vbs)内容如 ...
- 仿<赶集生活>client启动动画效果
demo下载地址: http://yun.baidu.com/s/1i3wqEMh 由于前几年csdn泄露password的事件,导致我的账号被拿去发广告文章了,联系了管理员帮我把几篇广告文删掉,可是 ...
- VC获得window操作系统版本号, 获取操作系统位数
原文链接: http://www.greensoftcode.net/techntxt/2014315195331643021849 #include <Windows.h>include ...
- 解决svchost占用内存过高问题
摘抄自:https://jingyan.baidu.com/article/d169e1867cea7e436611d801.html svchost占用内存过高,会导致内存100%电脑卡住,CPU温 ...
- java web中请求和响应中包含中文出现乱码解析
说明:在计算机中保存的一切文本信息是以一定的编码表(0,1,0,1)来保存我们所认识的字符(汉字或英文字符),由字符到计算机存储的二进制过程是编码,由读取二进制到文本的过程称为解码.而字符编码有多种不 ...
- 关于HTTP协议(未完)
转 : https://www.cnblogs.com/ranyonsue/p/5984001.html
- 并发编程之socketserver模块
一.socketserver模块介绍 基于tcp套接字,关键的就是两个循环,一个是链接循环,一个是通信循环 socketserver模块中分两大类:srever类(解决链接问题)和request类(解 ...
- Oracle学习笔记之一,重温范式
第一范式(1NF) 第一范式是第二和第三范式的基础,是最基本的范式.第一范式包括下列的指导原则: 数据组的每个属性只可以包含一个值. 关系中的每个数组必须只包含相同数量的值. 关系中的每个数组一定不能 ...