处理DbContext创建异常

本文关键字:异常 创建 DbContext 处理 | 更新日期: 2023-09-27 18:15:00

正常情况下没有问题,但是当数据库无法找到时,visual studio显示SQLExceptions被抛出并被捕获。

我试图包装DbContext的创建,但它从来没有得到捕获,并保持在新的MyDbContext()

MyDbContext db = null;
try
{
    db = new MyDbContext ();
    myData = db.MyData.ToList (); // myData defined earlier
}
catch (System.Data.Entity.Core.EntityException ) // I tried to catch System.Exception with the same result
{
    MessageBox.Show ("Can't connect to server.");
    return;
}
finally
{
    db?.Dispose ();
}

那么是否有任何方法可以捕获抛出的异常或捕获无法建立的连接?

要测试连接不良,我将connectionstring Data Source更改为Localhost1

处理DbContext创建异常

因此,在等待很长一段时间并看到内部抛出几次异常之后,System.Data.SqlClient.SqlException最终被抛出到外部,您可以捕获它。

如果您更改连接字符串的身份验证,则几乎立即抛出异常,因此它可能在放弃并转发异常之前多次尝试联系数据源