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