/// <summary> /// Create a parameter for each value in parameters /// </summary> /// <typeparam name="T">Command with parameters setup</typeparam> /// <param name="cmd">Command object</param> /// <param name="paramPrefix">Field name for the WHERE IN</param> /// <param name="parameters">Values for the WHERE IN</param> public static void AddParamsToCommand <T>(this SqlCommand cmd, string paramPrefix, IEnumerable <T> parameters) { paramPrefix = StripFunction(paramPrefix); var parameterValues = parameters.Select((paramText) => paramText).ToArray(); string[] parameterNames = parameterValues.Select((paramText, paramNumber) => $"@{paramPrefix.Replace(".", "")}{paramNumber}").ToArray(); for (int index = 0; index < parameterNames.Length; index++) { cmd.Parameters.AddWithValue(parameterNames[index], parameterValues[index]); } OnShowCommandStatementEvent?.Invoke(cmd.CommandText); }
private static void SqlWhereInParameterBuilder_OnShowCommandStatementEvent(string statement) { OnShowCommandStatementEvent?.Invoke(_methodName, statement); }