I use PostgreSQL and have a column codes
of type text[]
, and I have another column filterCodes
of type string[]
. When I query data from the table, I need to check that codes
contains at least one element from filterCodes
, I try use Intersection
and Any
but neither seems to work.
How can I do this without writing custom functions?
patientQuery.Where(p => p.Codes.Intersect(filterCodes).Any());
CodePudding user response:
According to documentation Array Type Mapping (look at translation of array1 && array2
)
It should be:
patientQuery = patientQuery
.Where(p => p.Codes.Any(c => filterCodes.Contains(c)));