Я работаю с кодом, который я конвертирую в Pgsql, работающим с .NET. Я хочу вызвать хранимую функцию с несколькими параметрами, но мне нужно привязать параметры по имени:
NpgsqlCommand command = new NpgsqlCommand("\"StoredFunction\"", _Connection)
command.CommandType = CommandType.StoredProcedure;
command.Parameters.Add("param2", value2);
command.PArameters.Add("param1", value1);
Попытка сделать это пока ищет функцию с типами параметров, совпадающими в том порядке, в котором я добавил параметры в коллекцию, а не по имени.
Возможно ли, чтобы Npgsql связывал параметры с хранимыми функциями по имени?
В настоящее время Npgsql не поддерживает параметры прохода по имени. Хотя он поддерживает получение значений параметров по имени.
Не могли бы вы заполнить отчет об ошибке? Поэтому мы можем отслеживать и реализовывать его.
К сожалению, это не работает с процедурой хранилища (CommandType.StoredProcedure).
Он выполняет команду SQL-text (CommandType.Text). Вы можете использовать: paramname, плюс я думаю, что в последней версии вы можете использовать parameters.addwithvalue( ": paramname", param).
Вы также можете использовать @paramname с последней версией (например, MS Sql Server).
Прочтите раздел "Использование параметров в запросе" это руководство для ответа на ваш исходный вопрос - но помните, что я сказал выше облегчите себе жизнь.
CommandType.StoredProcedure
. Порядок, в котором параметры добавляются в коллекцию параметров команды, является порядком, в котором они предоставляются.