SQLException для Entity Framework - PullRequest
0 голосов
/ 08 июля 2011

У меня очень простой вопрос.

Я сделал хранимую процедуру для своего SQL, и она выглядит так:

    IF(@CurrentStatus='Fulfilled')
    BEGIN
        RAISERROR ('Opps, this item is too hot to last too long. It is SOLD OUT!',16, 1)
        RETURN -1           
    END

Будет возвращено сообщение об ошибке при выполнении условия.

В своем коде на C # я использую блок try-catch.

Я просто хочу вывести на экран сообщение об ошибке из описанной выше хранимой процедуры. Так какой тип исключения я должен использовать?

Вот мой код:

            try
        {
            storeDB.AddToBuyingOrders(newOrder);
            storeDB.SaveChanges();
            TempData["Result"] = "Added";
            return View();
        }
        catch (SqlException ex)
        {
            TempData["Result"] = ex.InnerException.Message.ToString();
            return View();
        }

1 Ответ

1 голос
/ 08 июля 2011

Интересно, почему вы задаете вопрос?Вы можете поймать Exception поставить точку останова в вашем коде и получить ответ в течение нескольких секунд !!!Мне даже потребовалось меньше пяти минут, чтобы создать рабочий пример только потому, что мне было любопытно, в чем проблема, что вы не делаете это сами.

Правильный тип исключения для перехвата: EntityCommandExecutionException или его родитель EntityException.SqlException будет принадлежать InnerException, и вы получите там свое сообщение.

...