实体框架的SQLException

时间:2011-07-07 20:10:13

标签: asp.net entity-framework entity sqlexception

我有一个非常简单的问题。

我为我的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 个答案:

答案 0 :(得分:1)

我想知道你为什么要问这个问题?你可以抓住Exception在你的代码中放一个断点,并在几秒钟内得到答案!我甚至花了不到五分钟的时间才成为工作榜样,因为我很好奇你有什么问题,而你自己并不这样做。

要捕获的正确异常类型是EntityCommandExecutionException或其父EntityExceptionSqlException将位于InnerException属性中,您将在此处收到消息。