DbConnection.Open是否始终打开新的数据库连接,还是可以重用其中一个连接池?

Jad*_*ias 3 .net c# sql ado.net dbconnection

我不确定在.NET中实现连接池的级别.我打电话的时候

using(var connection = new SqlConnection(connectionString))
{
    connection.Open();
Run Code Online (Sandbox Code Playgroud)

我肯定会打开一个新连接吗?或者我可能重用活动连接?SqlConnection中存在的连接池可能在其他DbConnection实现中不存在?

Dav*_*vid 9

除非另行指定,否则会自动发生连接池.如果向下滚动到下面第一个链接中的"使用连接字符串关键字控制连接池"部分,您将看到"池化"的默认值为true.

http://msdn.microsoft.com/en-us/library/8xx3tyca.aspx

只要连接字符串完全相同(此时大写/小写很重要),就可以在没有任何干预的情况下创建连接池.

OleDbConnection和Connection Pooling也是如此.
http://msdn.microsoft.com/en-us/library/ms254502.aspx