CockroachDbDbTypeNameToCockroachDbTypeResolver
A class used to resolve a CockroachDB database type name into its equivalent CockroachDbType.
This IResolver<string, CockroachDbType?> implementation converts a CockroachDB database type name into its equivalent RepoDb.Connector.CockroachDb.CockroachDbType. It resolves in three steps:
- Tries to parse the name directly as a
CockroachDbTypeenum member. - Returns
nullfor the reflection-reportedUSER-DEFINEDtype (e.g. a native enum type) —CockroachDbTypehas noUnknownmember to fall back to. - Otherwise, falls back to CockroachDbDbTypeNameToClientTypeResolver to get the .NET CLR type, then ClientTypeToCockroachDbTypeResolver to resolve that type into its
CockroachDbType— returningnullinstead of throwing if that final step can’t resolve it either.
Usability
var resolver = new CockroachDbDbTypeNameToCockroachDbTypeResolver();
var cockroachDbType = resolver.Resolve("uuid"); // CockroachDbType.Uuid