sql >> Database teknologi >  >> RDS >> PostgreSQL

Array af sammensat type som lagret procedureinput videregivet af C# Npgsql

Kortlægning af dine CLR-typer

Det er stadig muligt, og i nogle tilfælde nødvendigt, at opsætte en eksplicit mapping for dine CLR-typer. Det giver følgende fordele:

Du ved, at du længere behøver at angive egenskaben DataTypeName på din parameter. Npgsql vil udlede datatypen fra din angivne CLR-type.

Utypede læsemetoder såsom NpgsqlDataReader.GetValue() vil returnere din CLR-type i stedet for et dynamisk objekt (se nedenfor). Generelt bør du bruge den indtastede NpgsqlDataReader.GetFieldValue(), så dette burde ikke være vigtigt.

Du kan tilpasse navnetilknytningen for hver type (se nedenfor). For at opsætte en global kortlægning for alle dine forbindelser skal du indsætte denne kode før din første åbning:

 NpgsqlConnection.GlobalTypeMapper.MapEnum<SomeEnum>("some_enum");
 NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite");

Hvis du ikke ønsker at konfigurere en kortlægning for alle dine forbindelser, kan du kun konfigurere den én forbindelse:

var conn = new NpgsqlConnection(...);
conn.TypeMapper.MapEnum<SomeEnum>("some_enum");
conn.TypeMapper.MapComposite<SomeType>("some_composite");

http://www.npgsql.org/doc/types/enums_and_composites.html




  1. Postgres vælger aktuelle timedata

  2. Dynamisk overvågning af PostgreSQL-forekomster ved hjælp af pg_top

  3. Parsing Json postgresql

  4. Hvordan sender jeg en tabelparameter til denne funktion?