Npgsql 是否公开了 PostgreSQL 列类型的强类型列表?

Does Npgsql expose a strongly-typed list of PostgreSQL column types?

Npgsql 在 System.Net.IPAddress 和 Postgres 的 inet 列类型之间提供 a mapping

我的 EF Core 配置包含:

builder
  .Property(p => p.IPAddress)
  .HasColumnType("inet")          // I want to avoid this magic string
  .Required();

我知道我可以省略它,但我想说清楚。

Npgsql 是否有常量、枚举或类型我可以用来代替硬编码"inet"

(例如 NpgsqlColumnTypes.IPAddress 等于 "inet"。)

您可以打开一个 NpgsqlConnection,访问它的 TypeMapper 并在 Mappings 上进行枚举 - 这应该会为您提供 Npgsql 在该特定 PostgreSQL 上支持的所有 PostgreSQL 类型。

然而,这真的没有必要。标准做法是将类型名称简单地嵌入为字符串。它们是 well-known 永远不变的稳定名称。