Ваш код в настоящее время включает любые объекты, которые имеют любые RecPosition с ненулевым PosRank.
Это не фильтрация RecPosition, возвращаемых в сущностях, а фильтрация их родительского типа (Pos).
если вы хотите включить только Pos-сущности, в которых all RecPositions имеют ненулевой PosRank, вам просто нужно:
return entitySet.Where(x => x.RecPositions.All(rp => rp.PosRank != 0));
Если вам действительно нужны значения RecPosition (вместо значений Pos), вам может потребоваться:
return entitySet.SelectMany(x => x.RecPositions)
.Where(rp => rp.PosRank != 0));