Как использовать OData Expand как соединение SQL?

Я пытаюсь выяснить, как выполнить эквивалент:

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 и сделать это за один вызов?

24
задан Factor Mystic 13 October 2010 в 04:25
поделиться