[我是 ADO.NET 和实体框架的新手,如果这个问题看起来很奇怪,请原谅我。]
在我的 WPF 应用程序中,用户可以在运行时在不同的数据库之间切换。当他们这样做时,我希望能够快速检查数据库是否仍然可用。我很容易获得的是 ObjectContext。我正在执行的测试是对一个非常小的表的总记录进行计数,如果它返回结果则它通过,如果我得到一个异常则它失败。我不喜欢这个测试,它似乎最容易使用 ObjectContext。
我已经尝试在连接字符串和 ObjectConntext 中设置连接超时,并且似乎在第一个场景中改变了任何东西,而第二个场景已经很快,所以如果它改变任何东西都不会引起注意。
情景一
如果在第一次访问之前连接已关闭,则大约需要 30 秒才能给我底层提供程序失败的异常。
方案二
如果在我启动应用程序并访问它时数据库已启动,然后在使用测试时连接断开连接很快并且几乎立即返回。
我希望描述的第一个场景与第二个场景一样快。
请让我知道如何最好地解决此问题,如果有更好的方法可以快速测试与数据库的连接,请告知。