当前位置: 代码迷 >> C# >> Dapper学习笔记(五)-存储过程
  详细解决方案

Dapper学习笔记(五)-存储过程

热度:72   发布时间:2016-05-05 03:00:56.0
Dapper学习笔记(5)-存储过程

一、无参存储过程

第一步:创建一个不带参数的存储过程,代码如下:

1 CREATE PROCEDURE [dbo].[QueryRoleNoParms] 2     3 AS4 BEGIN5     SELECT * FROM T_Role;6 END

第二步:执行存储过程,返回结果,代码如下:

 1         private List<Role> ExecuteStoredProcedureNoParms() 2         { 3             using (IDbConnection con = OpenConnection()) 4             { 5                 List<Role> roleList = new List<Role>(); 6                 roleList = con.Query<Role>("QueryRoleNoParms", 7                                         null, 8                                         null, 9                                         true,10                                         null,11                                         CommandType.StoredProcedure).ToList();12                 return roleList;13             }14         }

 

二、带输入输出参数的存储过程

第一步:创建一个带输入输出参数的存储过程,代码如下:

1 CREATE PROCEDURE [dbo].[QueryRoleWithParms]2     @RoleId int,3     @RoleName nvarchar(256)='' out4 AS5 BEGIN6     SELECT @RoleName = RoleName FROM T_Role WHERE RoleId =@RoleId7 END

第二步:执行存储过程,返回执行结果,代码如下:

 1         private string ExecuteStoredProcedureWithParms() 2         { 3             DynamicParameters dp = new DynamicParameters(); 4             dp.Add("@RoleId", "1"); 5             dp.Add("@RoleName", "", DbType.String, ParameterDirection.Output); 6             using (IDbConnection con = OpenConnection()) 7             { 8                 con.Execute("QueryRoleWithParms", dp, null, null, CommandType.StoredProcedure); 9                 string roleName = dp.Get<string>("@RoleName");10                 return roleName;11             }12         }

 

  相关解决方案