1

SQL 返回的代码前面有一个减号 (-),表示 SQL 语句执行不成功。(所有 SQL 定义的错误代码都是负整数)。

在以前的应用程序中,我使用了基于存储过程的 SQL 数据层来检查这些错误代码并将它们转换为用户友好的错误消息,然后显示给最终用户。

我一直在测试将旧的基于存储过程的系统替换为基于实体框架的系统的有效性。到目前为止,我遇到的唯一问题是我找不到任何方法来检索解释任何与数据库相关的操作失败的 SQL 错误代码。在网上广泛搜索并没有找到任何结果后,我认为这里有人必须知道答案。

所以我的简单问题是......在使用实体框架时,有什么方法可以访问每个 SQL 语句执行的 SQL 错误代码?

提前谢谢了。

4

1 回答 1

3

是的,您可以看到SqlException有关您的异常的详细信息。

try
{
   // do your changes
   myDbContext.SaveChanges();
}
catch (SqlException ex)
{
    // ex.LineNumber
    // ex.ErrorCode
    foreach (SqlError error in ex.Errors)
    {
        // error.LineNumber
    }
}

有关SqlException 类的更多信息

希望这可以帮助

于 2011-12-01T11:37:36.420 回答