Consulta de Linq con subconsulta como valores separados por comas

En mi solicitud, una empresa puede tener muchos empleados y cada empleado puede tener varias direcciones de correo electrónico.

El esquema de la base de datos relaciona las tablas de esta manera:

Empresa -> EmpresaEmpleadoXref -> Empleado -> EmpleadoDirecciónXref -> Correo electrónico

Estoy usando Entity Framework y quiero crear una consulta LINQ que devuelva el nombre de la empresa y una lista separada por comas de las direcciones de correo electrónico de sus empleados. Aquí está la consulta que estoy intentando:


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"

...

Sé que este código está mal, creo que me falta un grupo, pero ilustra el punto. No estoy seguro de la sintaxis. ¿Es esto posible? Gracias por cualquier ayuda.