首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将hstore列转换为XPO类属性Npgsql 3.2.7

将hstore列转换为XPO类属性Npgsql 3.2.7
EN

Stack Overflow用户
提问于 2018-03-09 17:19:41
回答 2查看 54关注 0票数 0

我们已经将Npgsql从2.2.5升级到3.2.7。

我们有一个hstore类型的数据库列。

在2.2.5中,这个列过去是由XPO从来自数据库的字符串转换为List < Tuple<对象,object>>是我们在XPO类中想要的。

在3.2.7之前,发生了一些变化,当我们试图阅读本专栏时,我们会得到一个错误,说明“一个对象应该实现IConvertible”。但是它没有声明哪个对象应该是IConvertible。我假定这是List< Tuple<对象object>>类型的目标XPO属性。

我们试图将该属性更改为IConvertible,但没有生效。

有没有人在hstore类型和3.*升级方面有类似的问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-09 23:16:49

我不知道您的应用程序到底做了什么(或者XPO是如何工作的),但是Npgsql 3.x将PostgreSQL hstore返回为Dictionary<string,string>。似乎您的客户端代码(XPO?)可能期望Npgsql返回的值是IConvertible,这不再是这种情况了。

票数 0
EN

Stack Overflow用户

发布于 2018-03-15 14:45:18

好的,我知道了。将从数据库读取的类型从string更改为Dictionary,会导致XPO中出现错误,而XPO没有正确处理它。万一其他人遇到了这个问题:需要子类PostgreSqlConnectionProvider并覆盖ReformatReadVaue()方法以省略字典。第二件事是为属性设置一个合适的值转换器。https://www.devexpress.com/Support/Center/Question/Details/T614674/problem-with-hstore-fields-after-upgrading-from-16-2-to-17-2

再次感谢你为我指出正确的方向。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49198961

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档