Dapper Tutorial Dapper - Dynamic Parameter
Description
Create and use a parameter in a Dapper method.
Single
Execute a single time a SQL Command.
var sql = "EXEC Invoice_Insert"; using (var connection = My.ConnectionFactory()) { connection.Open(); DynamicParameters parameter = new DynamicParameters(); parameter.Add("@Kind", InvoiceKind.WebInvoice, DbType.Int32, ParameterDirection.Input); parameter.Add("@Code", "Many_Insert_0", DbType.String, ParameterDirection.Input); parameter.Add("@RowCount", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue); connection.Execute(sql, parameter, commandType: CommandType.StoredProcedure); int rowCount = parameter.Get<int>("@RowCount"); }
Many
Execute many times a SQL Command
var sql = "EXEC Invoice_Insert"; var parameters = new List<DynamicParameters>(); for (var i = 0; i < 3; i++) { var p = new DynamicParameters(); p.Add("@Kind", InvoiceKind.WebInvoice, DbType.Int32, ParameterDirection.Input); p.Add("@Code", "Many_Insert_" + (i + 1), DbType.String, ParameterDirection.Input); p.Add("@RowCount", dbType: DbType.Int32, direction: ParameterDirection.ReturnValue); parameters.Add(p); } using (var connection = My.ConnectionFactory()) { connection.Open(); connection.Execute(sql, parameters, commandType: CommandType.StoredProcedure ); var rowCount = parameters.Sum(x => x.Get<int>("@RowCount")); }