Я использую 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.»