I want to filter rows based on json array of integers, for example, my table looks like this
| Id | Name | TypeJson |
| --- | ---------- | -------- |
| 1 | Name One | [1,2] |
| 2 | Name Two | [2,3] |
| 3 | Name Three | [4,7] |
where Id is type of int, Name - text and TypeJson - jsonb.
I'm trying to filter the rows by following query
await _dbContect.Table
.Where(x => !string.IsNullOrEmpty(x.TypeJson) &&
EF.Functions.JsonExistAny(x.TypeJson, "2")
.ToListAsync();
I expect to get 1 and 2 rows as a result but I'm getting unexpected error
Npgsql.PostgresException (0x80004005): 42883: function btrim(jsonb, unknown) does not exist
...
Exception data:
Severity: ERROR
SqlState: 42883
MessageText: function btrim(jsonb, unknown) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 593
File: parse_func.c
Line: 528
Routine: ParseFuncOrColumn
am I supposed to pass "2" in some specific format or what is the exception thrown by?