/// <inheritdoc /> public async Task <SqlConnection> GetSqlConnectionAsync(string initialCatalog = null, CancellationToken cancellationToken = default) { SqlConnection sqlConnection; string sqlConnectionString = await _sqlConnectionStringProvider.GetSqlConnectionString(cancellationToken); if (string.IsNullOrEmpty(sqlConnectionString)) { throw new InvalidOperationException("The SQL connection string cannot be null or empty."); } if (initialCatalog == null) { sqlConnection = new SqlConnection(sqlConnectionString); } else { SqlConnectionStringBuilder connectionBuilder = new SqlConnectionStringBuilder(sqlConnectionString) { InitialCatalog = initialCatalog }; sqlConnection = new SqlConnection(connectionBuilder.ToString()); } var result = await _accessTokenHandler.GetAccessTokenAsync(_azureResource, cancellationToken); sqlConnection.AccessToken = result; return(sqlConnection); }
/// <inheritdoc /> public async Task <SqlConnection> GetSqlConnectionAsync(string initialCatalog = null, CancellationToken cancellationToken = default) { EnsureArg.IsNotNullOrEmpty(_sqlServerDataStoreConfiguration.ConnectionString); SqlConnection sqlConnection; if (initialCatalog == null) { sqlConnection = new SqlConnection(_sqlServerDataStoreConfiguration.ConnectionString); } else { SqlConnectionStringBuilder connectionBuilder = new SqlConnectionStringBuilder(_sqlServerDataStoreConfiguration.ConnectionString) { InitialCatalog = initialCatalog }; sqlConnection = new SqlConnection(connectionBuilder.ToString()); } var result = await _accessTokenHandler.GetAccessTokenAsync(_azureResource, cancellationToken); sqlConnection.AccessToken = result; return(sqlConnection); }