我正在使用 ADO.Net 连接到一些 Sql Server 和 Oracle 数据库,并且我想同时运行一些查询。
我将 SqlClient 命名空间中的类用于 Sql Server 和 ODP.Net 用于 Oracle。对于 Sql Server,我在连接字符串中添加了 MARS 选项,并在 SqlCommand 上调用异步 API。ODP.Net 不提供异步 API,因此我必须为并发 Oracle 命令提供单独的线程。
我的问题是,我应该如何处理连接对象?我应该为每个数据库实例创建一个 DbConnection 并针对单个连接异步执行命令,还是应该为每个并发命令提供一个单独的连接对象?共享连接对象是否会成为同时通过它执行的多个命令的争用点?
我将编写一些比较测试,但很想听听有异步数据库命令经验的人的意见。先感谢您!