我如何使用 npgsql 3.0.0 读取 postgresql citext 字段?

Ho do I read a postgresql citext field with npgsql 3.0.0?

假设我在 postgresql 中有一个名为 "exampletable" 的 table,带有 100 个 citext 类型的字段,我们称它们为 "field1"、"field2" 等。 .. 如何使用 npgsql 读取这些字段?理想情况下,我想使用以下 sql:

select * from exampletable

但是当我使用 npgsql 3.0.0 执行 sql 时,我得到以下 NotSupportedException:

"The field field1 has a type currently unknown to Npgsql (OID 16466). You can retrieve it as a string by marking it as unknown, please see the FAQ..."

为了克服这个问题,我可以手动将所有字段转换为 sql 查询中的文本,如下所示:

select field1::text, field2::text, ... field99::text, field100::text from exampletable

如您所见,这非常冗长和繁琐。我是否必须手动将所有字段转换为查询中的文本,或者是否有一些更简单的方法来配置 npgsql 以允许传输中的 citext 类型?我将如何处理 postgresql?

中的其他非标准扩展类型

我们将不胜感激。

奖励问题:我已经尝试查找异常消息中引用的常见问题解答,但没有找到任何内容。您知道消息引用的是哪个页面吗?

抱歉,那种类型一定是漏掉了。我已经 opened an issue for it 并将为 3.0.1 实施。

同时,您可以在失败时手动投射,或者将 NpgsqlCommand 的 AllResultTypesAreUnknown 设置为 true。这将使 Npgsql 以文本形式请求所有结果集的列,然后您可以访问这些列。 FAQ还在进行中,还没有上线,还请见谅。