2014-09-30 2 views
3

Как упоминается в заголовке, существует ли способ запустить сохраненный запрос на действие Microsoft Access с помощью Dapper? По запросу действия я имею в виду все, что не возвращает результаты (вставка, обновление, удаление).Запуск сохраненного запроса на действие Microsoft Access с помощью Dapper

Я пытался что-то подобное, но это было бы слишком легко я думаю:

_connection.Execute("MyStoredQuery"); 

ответ

6

Щеголеватый должен знать, что это "MyStoredQuery". Он не сканирует схему базы данных, чтобы узнать, является ли эта строка нормальной командой sql или именем хранимой процедуры. (Ну они на самом деле не хранимая процедура, но это значение)

Вам нужно, чтобы указать CommandType

_connection.Execute("MyStoredQuery", commandType = CommandType.StoredProcedure); 

По умолчанию CommandType устанавливается в Text, и это означает, что ваша строка, как ожидается, будет нормальный код команды sql, такой как SELECT ...., INSERT INTO .... и т. д.

Невозможно протестировать его сейчас, но давайте посмотрим, сможет ли кто-то с большим знанием об этом дать вам лучший ответ. (Подсказка добавляет тег Dapper на ваш вопрос)

+2

(Nods sagely ...) –

1

Тот же ответ, что и Стив, но «commandType =» не работал для меня. Я использовал «commandType:», как показано ниже:

_connection.Execute("MyStoredQuery", commandType: CommandType.StoredProcedure);