【发布时间】:2019-12-01 22:10:07
【问题描述】:
我有一个带有文本格式输入 json 参数的函数,我将其转换为 json 本身。此函数以文本格式返回另一个 Json。当我使用另一个函数测试从 PGAdmin 4 调用此函数时,它工作正常,但如果我从 EF Core 3.0 调用该函数,我会收到此错误:
Error Name: invalid input syntax for type json
Error State: 22P02
Error Context: JSON data, line 1: {"ErrorMsg":"Error Name: type "geometry...
PL/pgSQL function miguel.searchjson(text) line 87 at assignment
SQL statement "SELECT * from miguel.searchJSON(param)"
PL/pgSQL function miguel.test_searchjson() line 19 at SQL statement
对于没有返回文本的 Json 的其他函数,我在执行中没有问题。 我是这样调用我的函数的:
var res = _context.JSResultSearch.FromSqlRaw("SELECT miguel.test_searchjson() as jsresult");坦率地说,我已经对这个话题感到绝望。如有任何帮助,我将不胜感激。
【问题讨论】:
-
您的帖子中似乎缺少该错误。
-
对不起,我不得不多次编辑。我的代码格式有问题。
-
我发现问题出在几何及其运算的使用上。如果我在 miguel.SearchSum 中退出几何变量 (geom) 和 wkt 转换。调用工作正常。但我需要与几何图形相交。所以我跟着需要一个解决方案。谢谢。
-
我已经找到了问题所在。 EF Core 中使用的连接登录对 postgis 架构没有权限。 该错误非常令人困惑,授予在该架构中登录就足够了。所以它已经可以正常工作了。
标签: postgresql entity-framework npgsql