2

npgsql 会支持 Postgresql 9.3 中的 json 操作功能吗?在官方网站上找不到有关此主题的任何信息。

4

1 回答 1

0

PostgreSQL 9.3 的 JSON 功能由数据库进程中的数据库引擎处理 - 而不是 SQL 提供程序 (NpgSQL)。NpgSQL 负责将查询发送到服务器并读取结果,而不是实际解析查询。因此,它不需要支持 JSON 操作特性——这一切都在数据库进程中完成。

检索 JSON 结果是完全不同的故事。.NET 的 DbType不包含 JSON 类型,CLR 本身也不包含 JSON 类型,所以我怀疑 NpgSQL 是否能够将结果中的 JSON 列转换为实际的 JSON。NPG 无法做到这一点,除非微软将此功能添加到 .NET,而且我相信微软只会在他们向 SQL Server 添加本机 JSON 支持时才会添加此功能——我认为这不会很快发生……

因此,您可以使用 NpgSQL 运行 JSON 查询并使用数据库支持的所有 JSON 操作,但是如果您想从查询中检索 JSON 列,您必须自己解析 JSON(例如使用Json.NET

于 2013-11-20T09:41:23.277 回答