/// <summary> /// Provide access to Postgre database /// </summary> /// <param name="options">Options to connect and manage database</param> public PostgreDbProvider(PostgreDbProviderOptions options) { if (options == null) { throw new ArgumentNullException(nameof(options)); } if (string.IsNullOrEmpty(options.ConnectionString)) { throw new ArgumentNullException(nameof(options.ConnectionString)); } MigrationHistoryTableName = options.MigrationHistoryTableName; var connectionBuilder = new NpgsqlConnectionStringBuilder(options.ConnectionString); DbName = connectionBuilder.Database; ConnectionString = connectionBuilder.ConnectionString; var tempConnectionBuilder = new NpgsqlConnectionStringBuilder(options.ConnectionString) { Database = PostgreDefaultDatabase }; _connectionStringWithoutInitialCatalog = tempConnectionBuilder.ConnectionString; _options = options; _defaultVariables = new Dictionary <string, string> { [DefaultVariables.User] = tempConnectionBuilder.Username, [DefaultVariables.DbName] = tempConnectionBuilder.Database }; }
public PostgreDbProviderFactory(PostgreDbProviderOptions options) { _options = options ?? throw new ArgumentNullException(nameof(options)); }