Mapování typů CLR
Stále je možné a v některých případech nutné nastavit explicitní mapování pro vaše typy CLR. Získáte tím následující výhody:
Víte, že již musíte u parametru zadat vlastnost DataTypeName. Npgsql odvodí typ dat z vašeho poskytnutého typu CLR.
Metody čtení bez typu, jako je NpgsqlDataReader.GetValue() vrátí váš typ CLR namísto dynamického objektu (viz níže). Obecně byste měli používat typ NpgsqlDataReader.GetFieldValue(), takže by to nemělo být důležité.
Mapování názvů můžete přizpůsobit podle typu (viz níže). Chcete-li nastavit globální mapování pro všechna svá připojení, vložte tento kód před první otevření:
NpgsqlConnection.GlobalTypeMapper.MapEnum<SomeEnum>("some_enum");
NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite");
Pokud nechcete nastavit mapování pro všechna svá připojení, můžete je nastavit pouze jedno připojení:
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