public static async Task <PostgresDbConnection> Open( CancellationToken cancellationToken) { var connection = new PostgresDbConnection(ConnectionString); await connection.OpenAsync(cancellationToken); return(connection); }
public static IAVSCDatabase GetIAVSCDatabase ( DatabaseType databaseType, string serverName, string username, string password, string databaseName ) { IAVSCDatabase db; switch (databaseType) { case DatabaseType.Postgres: { db = new PostgresDbConnection( serverName, username, password, databaseName); } break; case DatabaseType.MySql: { db = new MySqlDbConnection( serverName, username, password, databaseName); } break; case DatabaseType.SqlServer: { db = new SqlServerDbConnection( serverName, username, password, databaseName); } break; default: { throw new NotSupportedDatabaseException(); } } return(db); }
private static async Task CreateTempUsers( PostgresDbConnection connection) { const string schema = @" CREATE TEMP TABLE tempUser (id int4, name text, location text); INSERT INTO tempUser (id, name, location) VALUES (0, 'guy one', 'Mars'), (1, 'guy two', 'Jupiter'), (2, 'guy three', 'Venus'); CREATE TEMP TABLE tempUserInfo (id int4, user_id int4, info text); INSERT INTO tempUserInfo (id, user_id, info) VALUES (0, 0, 'info one'), (1, 0, 'info two'), (2, 0, 'info three'), (3, 1, 'info one'), (4, 1, 'info two');"; await connection.ExecuteAsync(schema); }
private static async Task <TempUser[]> ReadTempUsers( PostgresDbConnection connection, string query, object param) { var userLookup = new Dictionary <int, TempUser>(); await connection .QueryAsync <TempUser, TempUserInfo, TempUser>( query, (user, info) => { if (!userLookup.TryGetValue(user.Id, out var found)) { found = user; userLookup[user.Id] = user; } if (info != null) { found.Infos.Add(info); } return(found); }, param); return(userLookup.Values.ToArray()); }
public static IAVSCDatabase GetIAVSCDatabase ( DatabaseType databaseType, string connectionString ) { IAVSCDatabase db = null; switch (databaseType) { case DatabaseType.Postgres: { db = new PostgresDbConnection(connectionString); } break; case DatabaseType.MySql: { db = new MySqlDbConnection(connectionString); } break; case DatabaseType.SqlServer: { db = new SqlServerDbConnection(connectionString); } break; default: { throw new NotSupportedDatabaseException(); } } return(db); }