使用Dapper调用存储过程需设置commandType: CommandType.StoredProcedure,通过匿名对象或DynamicParameters传递参数;2. 输出参数和返回值需用DynamicParameters定义并获取;3. 多结果集使用QueryMultipleAsync读取。确保连接有效、存储过程存在及参数配置正确。

在C#中使用Dapper调用存储过程非常简单。你只需要通过 IDbConnection 接口执行查询,并设置 CommandType.StoredProcedure,Dapper 就会以存储过程方式执行命令。
Dapper 使用 DynamicParameters 或匿名对象传参,推荐使用后者简化代码。
using (var connection = new SqlConnection(connectionString))
{
    var parameters = new
    {
        UserId = 1,
        Status = "Active"
    };
    var result = await connection.QueryAsync<User>(
        "sp_GetUsersByStatus",
        parameters,
        commandType: CommandType.StoredProcedure);
}
当存储过程包含输出参数或返回值时,使用 DynamicParameters 来接收。
using (var connection = new SqlConnection(connectionString))
{
    var dynamicParams = new DynamicParameters();
    dynamicParams.Add("@UserId", 1);
    dynamicParams.Add("@UserName", dbType: DbType.String, size: 50, direction: ParameterDirection.Output);
    dynamicParams.Add("@ReturnCode", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue);
    await connection.ExecuteAsync(
        "sp_GetUserName",
        dynamicParams,
        commandType: CommandType.StoredProcedure);
    string userName = dynamicParams.Get<string>("@UserName");
    int returnCode = dynamicParams.Get<int>("@ReturnCode");
}
如果存储过程返回多个结果集,使用 QueryMultipleAsync。
using (var connection = new SqlConnection(connectionString))
{
    using (var multi = await connection.QueryMultipleAsync(
        "sp_GetUserAndOrders",
        new { UserId = 1 },
        commandType: CommandType.StoredProcedure))
    {
        var users = multi.Read<User>().ToList();
        var orders = multi.Read<Order>().ToList();
    }
}
基本上就这些。只要确保连接字符串正确、存储过程存在,并使用 commandType: CommandType.StoredProcedure,Dapper 就能正确调用。不复杂但容易忽略细节比如参数方向或类型映射。
以上就是C#中如何使用Dapper的存储过程支持?示例代码是什么?的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                 
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                             
                                
                                 收藏
收藏
                                                                            Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号