Как я могу записать значение параметра таблицы SQL в коде C#?

Я использую TVP для одной из моих хранимых процедур SQL. Я также регистрирую параметры SQL и имена SP для целей аудита. Вот где я застрял, пытаясь найти TVP, чтобы записать его в мой лог-файл.

Это мой код:

private void LogStoredProc(string procName, SqlParameterCollection sqlparams)
        {
            string logMessage = str`enter code here`ing.Format("Invoking stored procedure {0} by {1} and its parameters: /n", procName, Convert.ToString(Session["User"]));
            foreach (SqlParameter param in sqlparams)
            {
                if (param.SqlDbType == SqlDbType.Structured)
                {
                    logMessage += param.Value.AsEnumerable()
                     .Select(row => row["ID"].ToString())
                     .Aggregate((s1, s2) => String.Concat(s1, "," + s2));

                }
                else
                {
                    logMessage += string.Format("{0} : {1} \n", param.ParameterName, param.Value);
                }
            }

            Log.Info(logMessage);
        }

"Param.Value.AsEnumerable" выдает ошибку. Это позволяет мне преобразовывать param.value только в 'string'.

Пожалуйста, помогите.

0 ответов

Другие вопросы по тегам