Мы используем Dapper для некоторых действий по доступу к данным и используем стандартный рекомендуемый подход для подключения к базе данных следующим образом:
public static Func<DbConnection> ConnectionFactory = () => new SqlConnection(ConnectionString);
Однако, если мы пытаемся выполнить оператор, в документах, которые он показываетчто вам нужно сначала указать:
using (var conn = ConnectionFactory())
{
conn.Open();
var result = await conn.ExecuteAsync(sql, p, commandType: CommandType.StoredProcedure);
return result;
}
Это означает, что вы должны явно открыть соединение.Однако, если мы опускаем оператор conn.open()
, он также работает, и мы беспокоимся, если в таких случаях соединение не удастся утилизировать должным образом.
Буду признателен за любые комментарии о том, как выполняется SQL без явного открытия любого соединения.