SqlParameterCollection - AddRangeWithValue
A SqlParameterCollection extension method that adds a range with value to 'values'.
public static void Main() { const string sql = @"SELECT 1 As IntColumn WHERE @Value1 = 1 AND @Value2 = 2"; var dict = new Dictionary<string, object> {{"@Value1", 1}, {"@Value2", 2}}; using (var conn = new SqlConnection(FiddleHelper.GetConnectionStringSqlServer())) { using (SqlCommand cmd = conn.CreateCommand()) { conn.Open(); cmd.CommandText = sql; //C# Extension Method: SqlParameterCollection - AddRangeWithValue cmd.Parameters.AddRangeWithValue(dict); var result = cmd.ExecuteScalarAs<int>(); Console.WriteLine(result); } } }
View Source
using System.Collections.Generic; using System.Data.SqlClient; public static partial class Extensions { /// <summary> /// A SqlParameterCollection extension method that adds a range with value to 'values'. /// </summary> /// <param name="this">The @this to act on.</param> /// <param name="values">The values.</param> public static void AddRangeWithValue(this SqlParameterCollection @this, Dictionary<string, object> values) { foreach (var keyValuePair in values) { @this.AddWithValue(keyValuePair.Key, keyValuePair.Value); } } }