/// <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);
        }
コード例 #2
0
 private static void SqlWhereInParameterBuilder_OnShowCommandStatementEvent(string statement)
 {
     OnShowCommandStatementEvent?.Invoke(_methodName, statement);
 }