Я пытаюсь выяснить, как выполнить эквивалент:
select *
from Users u
inner join Comments c on c.UserId = u.Id
where Id = 1569
(псевдонимы таблиц для лучшей читаемости sql)
... в конечной точке StackOverflow OData. Как будет построен этот URL? Я смотрю документацию для Expand на OData.org, и я подумал, что это будет выглядеть примерно так:
https://odata.sqlazurelabs.com/OData.svc/v0. 1 / rp1uiewita / StackOverflow / Users? $ Expand = Комментарии & $ filter = UserId eq 1569
, но неверно.
В Linq это будет так (я думаю), но Join не поддерживается:
Users.Where (u => u.Id == 1569) .Join (Комментарии, u => u.Id, c => c.UserId, (a, b) => a.Id == b.UserId )
Мне не нужно строго понимать это в Linq, я ' m просто пытаюсь понять, как построить URL-адрес запроса. В принципе, как я могу преобразовать предикат соединения SQL в URL-адрес OData и сделать это за один вызов?