Linq-Abfrage mit Unterabfrage als durch Kommas getrennte Werte

In meiner Bewerbung kann ein Unternehmen viele Mitarbeiter haben und jeder Mitarbeiter kann mehrere E-Mail-Adressen haben.

Das Datenbankschema verknüpft die Tabellen folgendermaßen:

Company -> CompanyEmployeeXref -> Employee -> EmployeeAddressXref -> E-Mail

Ich verwende Entity Framework und möchte eine LINQ-Abfrage erstellen, die den Namen des Unternehmens und eine durch Kommas getrennte Liste der E-Mail-Adressen des Mitarbeiters zurückgibt. Hier ist die Abfrage, die ich versuche:


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]"

...

Ich weiß, dass dieser Code falsch ist. Ich glaube, ich vermisse eine Gruppe von, aber er verdeutlicht den Punkt. Ich bin mir der Syntax nicht sicher. Ist das überhaupt möglich? Vielen Dank für jede Hilfe.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage