I’ll suggest:
var searchIds = new List<int>{1,2,3,4,5};
var result = persons.Where(p => p.Locations.Any(l => searchIds.Contains(l.Id)));
Contains
will be translated to IN
statement.
Keep in mind that the id list goes into the sql statement. If your id list is huge then you’ll end up having a huge query.