В моем приложении в компании может быть много сотрудников, и у каждого сотрудника может быть несколько адресов электронной почты.
Схема базы данных связывает таблицы следующим образом:
Компания -> CompanyEmployeeXref -> Сотрудник -> EmployeeAddressXref -> Электронная почта
Я использую Entity Framework и хочу создать запрос LINQ, который возвращает название компании и разделенный запятыми список адресов электронной почты ее сотрудника. Вот запрос, который я пытаюсь выполнить:
<code>
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 + ",")
}
</code>
Desired Output:
"Company1", "a@company1.com,b@company1.com,c@company1.com"
"Company2", "a@company2.com,b@company2.com,c@company2.com"
...
Я знаю, что этот код неправильный, я думаю, что мне не хватает группы, но это иллюстрирует суть. Я не уверен в синтаксисе. Это вообще возможно? Спасибо за любую помощь.