Я пытаюсь получить запрос, подобный следующему, с помощью 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[])"