首页 > 技术文章 > EF访问数据库报“ExecuteReader 要求已打开且可用的 Connection。连接的当前状态为已关闭。”错误

zaijian-xiaoshihou 2018-03-23 11:17 原文

我发生这个问题的原因是因为我用EF访问数据库时用的用到了两用方式,如下图

第一种方式访问时不会出现此错误,出现错误的是第二种方式,下图是dal层代码

其中红框中的代码是出现错误之后改正的代码,也就是说,开始没有写红框里的代码,会出现上述错误,因为没有判断数据库连接状态,先判断连接状态是否关闭状态,如果关闭就打开。

本以为EF对T-sql的数据库访问时会有判断连接状态的机制,结果没有。。。

经反复测试以上错误已解决。

 

推荐阅读