Link Search Menu Expand Document

ClientTypeToEDBDbTypeResolver


This IResolver<Type, EDBType?> implementation converts a .NET CLR type into its equivalent RepoDb.Connector.EnterpriseDb.EDBType (e.g. typeof(Guid)EDBType.Uuid, typeof(int)EDBType.Integer, typeof(byte[])EDBType.Bytea).

EDBType has no combinable “Array” member, so this resolver cannot represent array types — array-valued parameters are instead inferred directly by the Npgsql-backed driver at bind time, without going through this resolver at all (see EnterpriseDbDbHelper). Likewise, there is no CLR representation for PostgreSQL-specific geometric types, ranges, pg_lsn, or tid on this connector.

An unresolvable type throws an InvalidOperationException.

Usability

var resolver = new ClientTypeToEDBDbTypeResolver();
var edbType = resolver.Resolve(typeof(int)); // EDBType.Integer