В OData объединение двух таблиц может быть сделано двумя способами:
Навигация, примерно так:
/ TyrePatterns (id) / Шины? $ Filter = Diameter eq 195
Но это предполагает, что вы знаете идентификатор искомого TypePattern (который, кажется, не то, что вы ищете)
Или расширения:
/ TyrePatterns? $ = Расширения шины
Но тогда вы можете применять фильтры только к TyrePatterns, а не к выделенным шинам.
Таким образом, правильный способ выполнить этот запрос - наоборот:
/ Шины? $ Фильтр = диаметр экв. 195 & $ раскрыть = TyrePattern
Это вернет все шины с диаметром 195, а также включит их TypePattern (при условии, что свойство навигации является двунаправленным. Это не совсем то, что вы хотели, но это самое близкое, что вы можете получить.
В переводе на LINQ это будет выглядеть примерно так:
from t in Tyres.Expand("TyrePatterns")
where t.Diameter == 195
select t
Затем вы можете легко выбрать только TyrePatterns на клиенте.
Ограничением является то, что вы можете применять фильтр только к последнему сегменту в навигации (часть пути URL).