Я хочу написать свой SQL-запрос, используя LINQ в C #.
Вот мой запрос (для каждой Организации отображают свой Id, Name, Director, Analyst и общую сумму дохода из таблицы «Доход»):
SELECT
o.Id,
o.Name,
d.FirstName + ' ' + d.LastName AS Director,
a.FirstName + ' ' + a.LastName AS Analyst,
SUM(i.Amount) AS TotalIncome
FROM Organization o
LEFT JOIN Employee d ON o.DirectorId = d.Id
LEFT JOIN Employee a ON o.AnalystId = a.Id
LEFT JOIN Income i ON o.Id = i.OrganizationId
GROUP BY
o.Id,
o.Name,
d.FirstName,
d.LastName,
a.FirstName,
a.LastName
Я уже пробовал что-то вроде этого:
from o in Organization
join director in Employee on o.DirectorId equals director.Id into directorJoin
from d in directorJoin.DefaultIfEmpty()
join analyst in Employee on o.AnalystId equals analyst.Id into analystJoin
from a in analystJoin.DefaultIfEmpty()
join income in Income on o.Id equals income.OrganizationId into incomeJoin
group o by new
{
o.Id,
o.Name,
Director = d.FirstName + ' ' + d.LastName,
Analyst = a.FirstName + ' ' + a.LastName,
TotalIncome = (decimal?)incomeJoin.Sum(x => x.Amount)
} into g
select g.Key
, но моя программа выдает мне исключение:
Вложенный запрос не поддерживается,Operation1 = 'GroupBy' Operation2 = 'MultiStreamNest'
Буду очень признателен за любую помощь.