Uw CLR-typen in kaart brengen
Het is nog steeds mogelijk, en in sommige gevallen noodzakelijk, om een expliciete mapping op te zetten voor uw CLR-types. Dit biedt de volgende voordelen:
U weet dat het langer nodig is om de eigenschap DataTypeName voor uw parameter op te geven. Npgsql zal het gegevenstype afleiden uit het door u opgegeven CLR-type.
Niet-getypeerde leesmethoden zoals NpgsqlDataReader.GetValue() zullen uw CLR-type retourneren in plaats van een dynamisch object (zie hieronder). Over het algemeen zou u de getypte NpgsqlDataReader.GetFieldValue() moeten gebruiken, dus dit zou niet belangrijk moeten zijn.
U kunt de naamtoewijzing per type aanpassen (zie hieronder). Om een globale toewijzing voor al uw verbindingen in te stellen, plaatst u deze code vóór uw eerste keer openen:
NpgsqlConnection.GlobalTypeMapper.MapEnum<SomeEnum>("some_enum");
NpgsqlConnection.GlobalTypeMapper.MapComposite<SomeType>("some_composite");
Als u geen toewijzing voor al uw verbindingen wilt instellen, kunt u slechts één verbinding instellen:
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