【发布时间】:2013-10-24 22:32:23
【问题描述】:
我正在使用 Entity Framework 和 SQL Server 进行一些错误恢复。我希望我的应用程序在与数据库的连接恢复后在后台重新加载信息。
我的测试场景:
- 将我的机器置于飞行模式
- 启动应用程序;预期错误:(提供者:TCP 提供者,错误:0 - 不知道这样的主机。)
- 应用程序将通过使用实体框架执行查询每 5 秒重试一次连接
- 关闭飞行模式
- 经过 10 次以上的尝试;仍然存在相同的错误:(提供者:TCP 提供者,错误:0 - 不知道这样的主机。)
这让我相信执行查询不会在连接恢复后尝试打开新的传输级连接。
有没有办法告诉 Entity Framework(或 ADO.NET)尝试重新打开连接?
更新:由于我使用的是 Entity Framework 6,我可以使用 SqlAzureExecutionStrategy 代替手动编码或企业库重试策略。
【问题讨论】:
-
我认为创建
DBContext的新实例会重新创建连接。
标签: c# entity-framework ado.net database-connection