c# – 如果连接已经打开,可以调用OracleConnection.Open()吗?

IOW,有没有一种标准的测试方法,la:

if (! con.Open())
  con.Open();

更新:
我想我没有提到这些是我正在使用的Oracle的ODP组件. OracleConnection组件没有ConnectionState属性.

最佳答案
您需要将代码分成不同的层以避免这种情况.连接应仅在main方法中打开(在API中 – 不是主要的应用程序方法) – 然后传递给仅使用连接而不管理连接的协调(私有)方法(打开,关闭,事务操作等) ).这样可以保持代码清洁,保证事务/连接的安全.

转载注明原文:c# – 如果连接已经打开,可以调用OracleConnection.Open()吗? - 代码日志