public static DbConnection NewConnection(DbEngineType engineType) { var csb = PrepareFirebirdConnectionString(Config.DbConnectionString); return(engineType == DbEngineType.Postgres ? (DbConnection) new NpgsqlConnection(Config.DbConnectionString) : (DbConnection) new FbConnection(csb.ConnectionString)); }
public static object GetValue(DbEngineType dbEngineType, string key) { var sql = "select test_value from test where test_key = @test_key"; var parameters = new Dictionary <string, object>() { { "@test_key", key } }; return(DbTools.Query <object>(dbEngineType, sql, parameters)); }
public static void SetValue(DbEngineType dbEngineType, string key, object value) { var sql = "insert into test (test_key, test_value) values (@test_key, @test_value)"; var parameters = new Dictionary <string, object> { { "@test_key", key }, { "@test_value", value } }; try { DbTools.Execute(dbEngineType, sql, parameters); } catch (Exception e) { Console.WriteLine(e.Message); } }
public static int Execute(DbEngineType dbEngineType, string sql, Dictionary <string, object> parameters) { using (var conn = NewConnection(dbEngineType)) { try { var cmd = CreateCommand(dbEngineType, sql, conn); foreach (var param in parameters) { cmd.Parameters.Add(CreateParameter(dbEngineType, param.Key, param.Value)); } conn.Open(); return(cmd.ExecuteNonQuery()); } finally { conn.Close(); } } }
public static List <T> Query <T>(DbEngineType dbEngineType, string sql, Dictionary <string, object> parameters) { Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true; using (var conn = NewConnection(dbEngineType)) { try { conn.Open(); var query = parameters.Any() ? conn.Query <T>(sql, parameters) : conn.Query <T>(sql); return(query.ToList()); } finally { conn.Close(); } } }
private static DbParameter CreateParameter(DbEngineType dbEngineType, string name, object value) { return(dbEngineType == DbEngineType.Postgres ? PostgresParam(name, value) : FbParam(name, value)); }
private static DbCommand CreateCommand(DbEngineType dbEngineType, string sql, DbConnection conn) { return(dbEngineType == DbEngineType.Postgres ? PostgresCommand(sql, conn) : FbCommand(sql, conn)); }
public async Task GetCollection <T>(DbEngineType engine = DbEngineType.Napalm) { }