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

时间:2019-05-19 11:23:55

标签: .net postgresql entity-framework-core npgsql

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"。)

1 个答案:

答案 0 :(得分:1)

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

但是,这实际上不是必需的。标准做法是将类型名称简单地嵌入为字符串。它们是永远不变的众所周知的稳定名称。