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); }