Execute stored procedure w/parameters in Dapper

前端 未结 5 908
被撕碎了的回忆
被撕碎了的回忆 2020-12-31 05:02

I\'m using Dapper (thanks Sam, great project.) a micro ORM with a DAL and by some reason I\'m not able to execute stored procedures with input parameters.

In a exam

5条回答
  •  抹茶落季
    2020-12-31 05:32

    Since this was the top result for me, but there were no answers that deal with ExecuteNonQuery with table valued parameters, here is the code for that:

    var queryParameters = new DynamicParameters();
    queryParameters.Add("@Param0", datatable0.AsTableValuedParameter());
    queryParameters.Add("@Param1", datatable1.AsTableValuedParameter());
    var result = await ExecuteStoredProc("usp_InsertUpdateTest", queryParameters);
    
    private async Task> ExecuteStoredProc(string sqlStatement, DynamicParameters parameters)
        {
            try
            {
                using (SqlConnection conn = new SqlConnection(connectionString))
                {
                    await conn.OpenAsync();
                    var affectedRows = await conn.ExecuteAsync(
                        sql: sqlStatement,
                        param: parameters,
                        commandType: CommandType.StoredProcedure);
                    return Result.Ok(affectedRows);
                }
            }
            catch (Exception e)
            {
                //do logging
                return Result.Fail(e.Message);
            }
        }
    

提交回复
热议问题