您的位置:首页 > 移动开发

轻量级ORM框架Dapper应用六:Dapper支持存储过程

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

CREATE proc sp_GetUserByUserName
@UserName varchar(16)
as
begin
select * FROM Users WHERE UserName=@UserName
end
GO


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

1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Data.SqlClient;
7 using System.Configuration;
8 using System.Data;
9 using Dapper;
10 using DapperApplicationProcedure.Model;
11
12 namespace DapperApplicationProcedure
13 {
14     class Program
15     {
16         static void Main(string[] args)
17         {
18             // 连接字符串
19             string conn = ConfigurationManager.ConnectionStrings["AppConnection"].ConnectionString;
20             using (IDbConnection connection = new SqlConnection(conn))
21             {
22                 var query = connection.Query<User>("sp_GetUserByUserName", new { UserName = "风清扬" }, commandType: CommandType.StoredProcedure);
23                 // 输出
24                 query.AsList().ForEach(p =>
25                 {
26                     Console.WriteLine("姓名:"+p.UserName+",邮箱:"+p.Email+",地址:"+p.Address);
27                 });
28             }
29
30             Console.ReadKey();
31         }
32     }
33 }


运行过程:



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

示例代码下载地址:https://pan.baidu.com/s/1bpjR5cN
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: