public void ReloadTypes() { using (var conn = new NpgsqlConnection(ConnectionString)) { conn.Open(); Assert.That(ExecuteScalar("SELECT EXISTS (SELECT * FROM pg_type WHERE typname='reload_types_enum')"), Is.False); ExecuteNonQuery("CREATE TYPE pg_temp.reload_types_enum AS ENUM ('First', 'Second')"); conn.ReloadTypes(); conn.RegisterEnum<ReloadTypesEnum>("reload_types_enum"); } }
public void ReadUnmappedEnumsAsString() { using (var conn = new NpgsqlConnection(ConnectionString)) { conn.Open(); ExecuteNonQuery("CREATE TYPE pg_temp.mood AS ENUM ('Sad', 'Ok', 'Happy')", conn); conn.ReloadTypes(); using (var cmd = new NpgsqlCommand("SELECT 'Sad'::MOOD, ARRAY['Ok', 'Happy']::MOOD[]", conn)) using (var reader = cmd.ExecuteReader()) { reader.Read(); Assert.That(reader[0], Is.EqualTo("Sad")); Assert.That(reader[1], Is.EqualTo(new[] { "Ok", "Happy" })); } } }
public void ReadUnmappedEnumsAsString() { using (var conn = new NpgsqlConnection(ConnectionString)) { conn.Open(); conn.ExecuteNonQuery("CREATE TYPE pg_temp.mood7 AS ENUM ('Sad', 'Ok', 'Happy')"); conn.ReloadTypes(); using (var cmd = new NpgsqlCommand("SELECT 'Sad'::MOOD7, ARRAY['Ok', 'Happy']::MOOD7[]", conn)) using (var reader = cmd.ExecuteReader()) { reader.Read(); Assert.That(reader[0], Is.EqualTo("Sad")); Assert.That(reader.GetDataTypeName(0), Does.StartWith("pg_temp").And.EndsWith("mood7")); Assert.That(reader[1], Is.EqualTo(new[] { "Ok", "Happy" })); } } }