Dapper не возвращает значение из try-catch в хранимой процедуреC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Dapper не возвращает значение из try-catch в хранимой процедуре

Сообщение Anonymous »

У меня странная ситуация. У меня есть хранимая процедура, которая возвращает данные обратно, все работает нормально, пока не возникло исключение SQL. Когда возникает исключение SQL, оно обрабатывается функцией Begin catch, но Dapper по какой-то причине выдает исключение

Последовательность не содержит элементов

Затем я заменил QuerySingleAsync на QueryAsync, чтобы иметь возможность видеть сам результат SQL. Это помогло отключить исключение (которое было сгенерировано картографом Dapper), но результат возвращается пустым. Я не могу понять, почему Даппер поступает таким образом.
SQL
ALTER PROCEDURE [dbo].[MyFavSP]
@SomeName VARCHAR(60),
@SomeValue BIGINT
AS
BEGIN
DECLARE @errMessage VARCHAR(256)
DECLARE @sqlErrCode INT = 0;

BEGIN TRY
SELECT *
FROM MyTable
WHERE 1/0 = 25

SET @sqlErrCode = 111
SET @errMessage = 'good'
END TRY
BEGIN CATCH
SET @sqlErrCode = 999
SET @errMessage = 'bad'
END CATCH

SELECT @sqlErrCode ErrorCode, @errMessage ErrorMessage
END

C#
var result = await connection.QuerySingleAsync("dbo.MyFavSP",
new { SomeName = "MyName", SomeValue = 123 },
commandType: CommandType.StoredProcedure);

Где мой результат
public class MyResult
{
public int ErrorCode { get; set; }
public string ErrorMessage { get; set; }
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... -procedure
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»