internal static IConnectionManager GetConnectionBuilder(this ReadOnlySettings settings, Type storageType)
        {
            if (settings.TryGet($"SqlPersistence.ConnectionManager.{storageType.Name}", out IConnectionManager value))
            {
                return(value);
            }
            if (settings.TryGet("SqlPersistence.ConnectionManager", out value))
            {
                return(value);
            }

            var exceptionMessage = $"Couldn't find connection string for {storageType.Name}. The connection to the database must be specified using the `{nameof(ConnectionBuilder)}` method.";

            if (settings.EndpointIsMultiTenant())
            {
                exceptionMessage += $" When in multi-tenant mode with `{nameof(MultiTenantConnectionBuilder)}`, you must still use `{nameof(ConnectionBuilder)}` to provide a database connection for subscriptions/timeouts on message transports that don't support those features natively.";
            }

            throw new Exception(exceptionMessage);
        }