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", "[email protected],[email protected],[email protected]"
"Company2", "[email protected],[email protected],[email protected]"
...
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.