SQL Server - сообщить об ошибке обратно .NET - PullRequest
5 голосов
/ 11 января 2012

Я использую Entity Framework с хранимыми процедурами для вставки / обновления / удаления сущностей.

Задача, которую я выполняю, - это управление запасами с помощью методов FIFO / LIFO => эти вставки / обновления / удаления выполняют несколько проверок и могут завершиться неудачей (иногда они терпят неудачу).

Проблема в том, что я хочу сообщить в .NET, что пошло не так и почему. Как я могу это сделать?

В настоящее время я использую что-то вроде этого:

BEGIN --rollback
ROLLBACK TRAN
RAISERROR (N'There''s not enough items in stock.', -- message
    16, -- severity
    1) -- state
END;

Я всегда получаю сообщение «MSDTC error» - «Ошибка основного поставщика в EnlistTransaction.»

Ответы [ 2 ]

1 голос
/ 12 января 2012

Не думаю, что это так далеко.При запуске одной из транзакций происходит ошибка, пользовательская ошибка не возникает.

0 голосов
/ 11 января 2012

Вам придется проверить InnerException, чтобы получить пользовательскую ошибку, которую вы подняли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...