繁体   English   中英

我如何使用npgsql 3.0.0读取Postgresql Citext字段?

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

假设我在postgresql中有一个名为“ exampletable”的表,其中包含100个citext类型的字段,让我们将其称为“ field1”,“ field2”等...如何使用npgsql读取这些字段? 理想情况下,我想使用以下sql:

select * from exampletable

但是当我使用npgsql 3.0.0执行sql时,出现以下NotSupportedException

“字段field1具有Npgsql当前未知的类型(OID 16466)。您可以通过将其标记为未知来将其检索为字符串,请参阅FAQ ...”

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

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

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

任何帮助将不胜感激。

奖励问题:我尝试查找异常消息中引用的FAQ,但未找到任何内容。 您知道消息所引用的页面吗?

不好意思,这种类型一定已经溜走了。 为此打开了一个问题 ,并将在3.0.1中实现。

同时,您可以在状态不佳时手动进行强制转换,或者将NpgsqlCommand的AllResultTypesAreUnknown设置为true。 这将使Npgsql请求文本中所有结果集的列,然后可以访问它们。 常见问题解答仍在进行中,尚未在线发布,对此深表歉意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM