Link Search Menu Expand Document

PostgreSqlDbTypeNameToClientTypeResolver


This IResolver<string, Type> implementation converts a PostgreSQL column data type name — as returned by information_schema.columns.data_type — into its equivalent .NET CLR type (e.g. character varying/textstring, integerint, uuidGuid, byteabyte[]). Geometric and range types resolve to their NpgsqlTypes equivalents (e.g. pointNpgsqlPoint, numrangeNpgsqlRange<decimal>). On .NET 6+, date and time resolve to DateOnly/TimeOnly instead of DateTime/TimeSpan. It is the default DbTypeResolver used by PostgreSqlDbHelper.

Usability

var resolver = new PostgreSqlDbTypeNameToClientTypeResolver();
var clrType = resolver.Resolve("character varying"); // typeof(string)