Linq-запрос с подзапросом в виде значений, разделенных запятыми

В моем приложении у компании может быть много сотрудников, и у каждого сотрудника может быть несколько адресов электронной почты.

Схема базы данных связывает таблицы следующим образом:

Компания -> CompanyEmployeeXref -> Сотрудник -> EmployeeAddressXref -> Электронная почта

Я использую Entity Framework и хочу создать запрос LINQ, который возвращает название компании и разделенный запятыми список адресов электронной почты ее сотрудника. Вот запрос, который я пытаюсь:


from c in Company
join ex in CompanyEmployeeXref on c.Id equals ex.CompanyId
join e in Employee on ex.EmployeeId equals e.Id
join ax in EmployeeAddressXref on e.Id equals ax.EmployeeId
join a in Address on ax.AddressId equals a.Id
select new {
              c.Name,
              a.Email.Aggregate(x=>x + ",")
           }


Desired Output:

"Company1", "a@company1.com,b@company1.com,c@company1.com"

"Company2", "a@company2.com,b@company2.com,c@company2.com"

...

Я знаю, что этот код неправильный, я думаю, что пропускаю группу, но это иллюстрирует суть. Я не уверен в синтаксисе. Это вообще возможно? Спасибо за любую помощь.