/// <summary>
 ///     Called when opening of a connection has failed with an exception. />.
 /// </summary>
 /// <param name="connection"> The connection. </param>
 /// <param name="eventData"> Contextual information about the connection. </param>
 /// <param name="cancellationToken"> The cancellation token. </param>
 /// <returns> A <see cref="Task"/> representing the asynchronous operation. </returns>
 public virtual Task ConnectionFailedAsync(
     DbConnection connection,
     ConnectionErrorEventData eventData,
     CancellationToken cancellationToken = default)
 => Task.CompletedTask;
 /// <summary>
 ///     Called when opening of a connection has failed with an exception. />.
 /// </summary>
 /// <param name="connection"> The connection. </param>
 /// <param name="eventData"> Contextual information about the connection. </param>
 public virtual void ConnectionFailed(
     DbConnection connection,
     ConnectionErrorEventData eventData)
 {
 }