SQL返回前面带有减号( - )的代码表示SQL语句执行不成功。 (所有SQL定义的错误代码都是负整数)。
在以前的应用程序中,我使用了基于存储过程的SQL数据层来检查这些错误代码,并将它们转换为用户友好的错误消息,然后显示给最终用户。
我一直在测试基于实体框架替换基于旧存储过程的系统的有效性。到目前为止我遇到的唯一问题是我找不到任何方法来检索解释任何数据库相关操作失败的SQL错误代码。经过广泛的在线搜索并找不到任何东西,我认为这里有人必须知道答案。
所以我的简单问题是......在使用实体框架时,有什么办法可以从每个SQL语句执行中访问SQL错误代码吗?
非常感谢提前。
答案 0 :(得分:2)
是的,你可以抓住SqlException
有关你的例外的详细信息。
try
{
// do your changes
myDbContext.SaveChanges();
}
catch (SqlException ex)
{
// ex.LineNumber
// ex.ErrorCode
foreach (SqlError error in ex.Errors)
{
// error.LineNumber
}
}
的更多信息
希望这会有所帮助