📜  c# dapper 执行带参数的存储过程 - C# (1)

📅  最后修改于: 2023-12-03 15:29:45.403000             🧑  作者: Mango

C# Dapper 执行带参数的存储过程

在使用C#进行数据库操作时,Dapper是一个非常优秀的ORM库。与其他ORM库不同的是,Dapper注重性能,同时它的API也非常简单易用。

在操作数据库时,我们经常需要执行存储过程。下面介绍如何使用Dapper执行带参数的存储过程。

准备工作

首先,需要在项目中安装Dapper库。可以使用NuGet安装,或者手动从GitHub下载代码并添加到项目中。

使用Dapper需要引用以下命名空间:

using System.Data;
using System.Data.SqlClient;
using Dapper;
配置数据库连接字符串

在程序中连接数据库之前,需要配置数据库连接字符串。可以将连接字符串保存在配置文件中,或者硬编码到代码中。以下是一个配置文件的例子,其中ConnectionString节点存储了连接字符串。

<configuration>
  <connectionStrings>
    <add name="TestDB" connectionString="Data Source=.;Initial Catalog=TestDB;Integrated Security=True" providerName="System.Data.SqlClient" />
  </connectionStrings>
</configuration>
执行存储过程

以下代码片段演示了如何使用Dapper执行带参数的存储过程。

using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["TestDB"].ConnectionString))
{
    // 设置参数
    var parameters = new DynamicParameters();
    parameters.Add("@UserName", "张三", DbType.String);
    parameters.Add("@BlogId", 1, DbType.Int32);

    // 执行查询
    var result = connection.Query<User>("GetUserByBlogId", parameters, commandType: CommandType.StoredProcedure);

    foreach (var item in result)
    {
        Console.WriteLine(item.UserName);
    }
}

代码说明:

  1. 使用SqlConnection连接数据库。
  2. 设置参数,使用DynamicParameters类来动态创建参数。
  3. 执行存储过程Query方法,第一个参数是存储过程的名称,第二个参数是参数对象,第三个参数是命令类型,这里是存储过程类型。
  4. 遍历查询结果。

以上是一个简单的示例,实际应用中可能需要更复杂的查询语句和参数设置。

总结

Dapper是一个高性能的ORM库,使用它可以方便地执行存储过程。使用DynamicParameters类可以动态设置参数,使代码更灵活。