如何从Asp.net 5中的DbUpdateException中检索异常编号



我宁愿不进行字符串比较,而且我的exeption编号似乎在InnerExeption编号字段中,但如果我尝试直接访问它,就会出现构建错误。

try {
    db.SaveChanges();
} catch (Microsoft.Data.Entity.DbUpdateException ex) {
    // ex.InternalException.Number won't compile but appears to be there
    // ex.InternalException.Message does compile but I think it seems less clean than a const comparison
}

一旦我得到了这个数字,有没有一个常数可以与之进行比较?我正在检查是否有重复的密钥错误。

感谢

我找到了一种方法。

db.User.Add(user);
try {
    db.SaveChanges();
} catch (Microsoft.Data.Entity.DbUpdateException ex) {
    if (((System.Data.SqlClient.SqlException)ex.InnerException).Number == 2627) {
        return new HttpStatusCodeResult(409);
    }
}

相关内容

  • 没有找到相关文章

最新更新