我正在尝试使用 Dapper 完成如下查询。围绕 json 的文档虽然有点少,但到目前为止我还想不通。
基本上我需要运行一个类似于这个的查询。
select * from table
WHERE jsonbfield @> ANY (ARRAY ['[{"property1": "value1", "property2":"value2"}]', '[{"property1": "value3", "property2": "value4"}]']::jsonb[]);
如何通过参数传递它?
这里有一些我到目前为止尝试过的更多细节。该字段包含像 jsonb 这样的聚合数据。
Similar to this
[{
"property1": "value1",
"property2": "value2,
},
{
"property1": "value3",
"property2": "value4,
}]
正如评论中提到的,sql 查询实际上正在工作并返回我需要的内容。但是,到目前为止,我无法将数据作为参数传递。如果我将它直接包含在查询中,它工作正常。但我更喜欢使用参数。
所以这是有效的。
"select * from table where jsonbfield @> ANY (ARRAY['[{\"property1\": \"value1\"}]']::jsonb[])"
这不是
var parameter = "'[{\"property1\": \"value1\"}]'";
"select * from table where jsonbfield @> ANY (ARRAY[@parameter]::jsonb[])"