Пул соединений не делает то, что вы думаете.
Если вы делаете что-то подобное
var connection = new SqlConnection(connectionString);
connection.Open();
var command = connection.CreateCommand();
command.CommandText = // some query
var reader = command.ExecuteReader();
var anotherCommand = connection.CreateCommand();
anotherCommand.CommandText = // another query
var anotherReader = anotherCommand.ExecuteReader();
тогда все это произойдет на одном соединении, независимо от того, есть ли у вас пул соединений.
Пул соединений просто хранит кэш соединений, которые вы можете создавать каждый раз, когда создаете новое соединение (new SqlConnection
) и открываете его (SqlConnectinon.Open
). Когда вы закрываете соединение, оно возвращается в пул для повторного использования. Но один открытый SqlConnection
объект соответствует одному соединению из пула. Период.