У меня есть таблица Product. Продукт связан с ProductDescription в отношениях один ко многим. ProductDescription может иметь более одной строки для каждого продукта. Он будет иметь несколько строк, если есть несколько переводов для описания продукта. Продукт имеет много-к-одному отношения с языком. Язык имеет код языка (en, es и т. Д.), А также LanguageId (также можно найти в ProductDescription).
Я хочу предоставить своим пользователям возможность запрашивать продукт, а также указать приложению, чтобы оно возвращало описания только на определенном языке.
У меня есть время, когда я выполняю это в Линке для сущностей. Я хочу сгенерировать SQL следующим образом:
SELECT * FROM Product p
JOIN ProductDescription pd ON p.ProductId = pd.ProductId
JOIN (SELECT * FROM Language WHERE AlternateCode = 'es') AS l ON pd.LanguageId = l.LanguageId
(AlternateCode - это имя поля для кода языка)
Кто-нибудь знает, как это сделать? То, что у меня осталось сейчас, - это потянуть все языки, а затем отфильтровать их с помощью Linq to Objects, что наверняка не идеально. Я мог бы получить языковые коды для каждого продукта в цикле, но для этого потребовалось бы многократные обращения SQL, которые я тоже не хочу.
ценю любую помощь!