假设我在postgresql中有一个名为“exampletable”的表,其中包含100个citext类型字段,我们称之为“field1”,“field2”等...如何使用npgsql读取这些字段?理想情况下,我想使用以下sql:
select * from exampletable
但是当我使用npgsql 3.0.0执行sql时,我得到以下NotSupportedException
:
“字段field1具有Npgsql当前未知的类型(OID 16466)。您可以通过将其标记为未知来将其检索为字符串,请参阅常见问题解答......”
为了解决这个问题,我可以手动将所有字段转换为sql查询中的文本,如下所示:
select field1::text, field2::text, ... field99::text, field100::text from exampletable
正如您所看到的,这是非常冗长和繁琐的。我是否必须在查询中手动将所有字段转换为文本,或者是否有一些更简单的方法来配置npgsql以允许传输中的citext类型?我如何处理postgresql中的其他非标准扩展类型?
任何帮助将不胜感激。
加分问题:我已尝试查找异常消息中引用的常见问题解答,但我找不到任何内容。你知道邮件引用的页面吗?
答案 0 :(得分:0)
与此同时,您可以在关闭时手动投射,也可以将NpgsqlCommand的AllResultTypesAreUnknown设置为true。这将使Npgsql在文本中请求所有结果集的列,然后您可以访问这些列。常见问题解答仍在进行中,尚未在线,也为此道歉。