从System.Exception获取NativeErrorCode?

时间:2010-12-09 08:34:20

标签: .net sql entity-framework sql-server-ce entity

如何从System.Exception获取本机错误代码? 更具体地说,我正在捕获EntityException,我需要检查它是否是 “25028 SSCE_M_INVALIDPASSWORD指定的密码与数据库密码不匹配。”

我的EntityException的内部异常是一个SqlCeException,它说“指定的密码与数据库密码不匹配”。那个我必须明确地抓住。

1 个答案:

答案 0 :(得分:0)

SqlCeException具有NativeError属性,因此一旦遇到此异常,请查看此属性的值:

catch (EntityException ex)
{
    var sqlCeEx = ex.InnerException as SqlCeException;
    if (sqlCeEx != null)
    {
        var nativeError = sqlCeEx.NativeError;
        // Do something with the native error
    }
}