Hi,
In OData joining the two tables can be done in two ways: Navigations, something like this: /TyrePatterns(id)/Tyres?$filter=Diameter eq 195 But this assumes you know the id of the TypePattern you're looking for (Which doesn't seem to be what you're looking for)
Or expansions: /TyrePatterns?$expand=Tyres But then you can only apply filters to the TyrePatterns, not to the exapnded Tyres.
So the right way to go about this query is the other way round: /Tyres?$filter=Diameter eq 195&$expand=TyrePattern This will return all tires with Diameter 195 and it will also include their TypePattern (assuming the navigation property is bi-directional. It's not exactly the one you wanted, but it's the closest you can get.
Translated to LINQ this would look something like
from t in Tyres.Expand("TyrePatterns")
where t.Diameter == 195
select t
You can then select just the TyrePatterns on the client easily.
The limitation is that you can only apply filter to the last segment in the navigation (the path part of the URL).