千家信息网

Dapper如何支持存储过程的

发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章主要介绍Dapper如何支持存储过程的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在Entity Framework中讲解了EF如何支持存储过程,同样,Dapper也
千家信息网最后更新 2025年11月10日Dapper如何支持存储过程的

这篇文章主要介绍Dapper如何支持存储过程的,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

在Entity Framework中讲解了EF如何支持存储过程,同样,Dapper也支持存储过程,只需要在Query()方法的CommandType中标记使用的是存储过程就可以了。在Users表上面创建如下的存储过程:

CREATE proc sp_GetUserByUserName@UserName varchar(16)asbeginselect * FROM Users WHERE UserName=@UserNameendGO

调用存储过程的代码如下:

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("sp_GetUserByUserName", new { UserName = "风清扬" }, commandType: CommandType.StoredProcedure);                // 输出                query.AsList().ForEach(p =>                {                    Console.WriteLine("姓名:"+p.UserName+",邮箱:"+p.Email+",地址:"+p.Address);                });            }            Console.ReadKey();        }    }}

运行过程:

注意:例子中只演示了使用一个参数的存储过程,如果有多个参数使用方法也一样。

示例代码下载地址:点此下载

使用Execute执行带输出参数的存储过程

创建存储过程如下:

CREATE proc procWithOutPara@num1 int,@num2 int,@sum int outputasbegin  set @sum=@num1+@num2endGO

dapper调用存储过程代码如下:

// 动态类型参数DynamicParameters paras = new DynamicParameters();paras.Add("@num1", 23);paras.Add("@num2", 45);paras.Add("@sum", 0, DbType.Int32, ParameterDirection.Output);// 指明是输出参数,这里为指明参数类型大小// 执行存储过程dbConnection.Execute("procWithOutPara", paras, commandType: CommandType.StoredProcedure);// 获取输出参数的值int sum = paras.Get("@sum");//68

以上是"Dapper如何支持存储过程的"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

过程 存储 参数 支持 输出 代码 内容 地址 方法 篇文章 类型 代码下载 价值 使用方法 例子 兴趣 动态 多个 大小 姓名 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 护苗 网络安全课简报 网络安全法发行机构是什么 php 数据库 购物车 一小时人生手机版怎么点服务器 浙江阿里服务器 鼓励推进网络安全 sdk软件开发工具包简介 我国网络安全保护等级2.0 宝山区网络技术咨询公司 NERO刻盘软件开发 宜良创新软件开发网上价格 洛阳软件开发论坛社区 饥荒服务器调整模组参数 浙江服务器磁盘阵列卡启动 天津市教委网络安全领导小组 简述网络安全法的立法意义 性价比高的软件开发考研院校 服务器内存用新的还是旧的 网络技术公司执照办理 hcna网络技术登录设备 安徽java微服务架构数据库 连接端口无响应服务器前端 山东网络安全专业研究院 枪战游戏服务器资源的插件 安卓链接数据库 软件开发工维谈失败 网络安全产业发展目标和路径 网络安全知识与技术二本院校 移动互联网与科技进步的论文 山西惠普服务器续保费用
0