使用 Entity Framework 检查连接
Check connection using Entity Framework
如何使用 Entity Framework 6 检查数据库连接?
这是我的代码:
using (var context = new DatabaseDataModel(connectionString))
{
if (context.Database.Connection.State != System.Data.ConnectionState.Open)
return;
if (!context.Database.Exists())
return;
context.Items.Add(item);
}
在将项目添加到数据库之前如何检查连接是否已建立?我无法打开连接,因为在连接字符串损坏的情况下会花费大量时间。这意味着我上面的状态检查毫无意义。 context.Database.Exist() 也有同样的问题,如果连接字符串损坏,也会花费很长时间。
我的目标是在执行任何关键操作之前检测损坏的连接字符串。
您想预测 是否可以连接到您的数据库。嗯,这是不可能的。无法知道如果你会连接直到你尝试。由于各种原因,与数据库的连接可能会失败:
- 数据库服务器没有响应,因为 SqlServer 已关闭。
- 服务器计算机出现故障(例如电源故障)。
- 您连接的服务器不存在。
- 服务器存在,但您连接到错误的端口。
- 数据库拒绝连接,因为您没有被授权。
- 数据库服务器繁忙,响应速度很慢。
- 网络不好/繁忙,数据传输很慢。
- 服务器在那里,但配置方式拒绝您的连接。例如,它需要 TCP,但您尝试使用命名管道。
还有更多。针对所有这些进行验证是绝对不可能的。
如何使用 Entity Framework 6 检查数据库连接?
这是我的代码:
using (var context = new DatabaseDataModel(connectionString))
{
if (context.Database.Connection.State != System.Data.ConnectionState.Open)
return;
if (!context.Database.Exists())
return;
context.Items.Add(item);
}
在将项目添加到数据库之前如何检查连接是否已建立?我无法打开连接,因为在连接字符串损坏的情况下会花费大量时间。这意味着我上面的状态检查毫无意义。 context.Database.Exist() 也有同样的问题,如果连接字符串损坏,也会花费很长时间。
我的目标是在执行任何关键操作之前检测损坏的连接字符串。
您想预测 是否可以连接到您的数据库。嗯,这是不可能的。无法知道如果你会连接直到你尝试。由于各种原因,与数据库的连接可能会失败:
- 数据库服务器没有响应,因为 SqlServer 已关闭。
- 服务器计算机出现故障(例如电源故障)。
- 您连接的服务器不存在。
- 服务器存在,但您连接到错误的端口。
- 数据库拒绝连接,因为您没有被授权。
- 数据库服务器繁忙,响应速度很慢。
- 网络不好/繁忙,数据传输很慢。
- 服务器在那里,但配置方式拒绝您的连接。例如,它需要 TCP,但您尝试使用命名管道。
还有更多。针对所有这些进行验证是绝对不可能的。