Краткий ответ: в настоящее время это невозможно.Фильтр $ всегда (и только) применяется к набору сущностей верхнего уровня.В настоящее время нет способа фильтровать расширенные наборы сущностей.Фильтр $ может быть достигнут внутри расширенных наборов сущностей, но результат всегда будет фильтровать набор верхнего уровня.В V2 это работает для одноэлементных навигационных свойств (выражение в $ filter может проходить через них), в V3 вы можете использовать any / all, чтобы также включить свойства навигации по коллекции.
Причина, по которой это не может работать, заключается в том, чтопротокол OData не определяет синтаксис URI для вложенных фильтров.На самом деле он не определяет практически ни одного оператора для расширенных наборов сущностей, за исключением самого расширения и проекций.