Мне нужно объединить две таблицы и сгруппировать по столбцу. Также мне нужно выбрать сумму одного столбца. Я уже пробовал какое-то решение из другого вопроса, но это решение не объясняет, как это сделать с помощью sum (), который является моим самым важным столбцом, который мне нужно выбрать
вот мое заявление SQL. Я уже пробовал это, и это возвращало результат, который я ожидал
SELECT lt.Name, SUM(l.QuotaDays)
FROM EmployeeLeaveQuota l
JOIN EmployeeLeaveQuotaType lt ON l.EmployeeLeaveQuotaTypeId = lt.EmployeeLeaveQuotaTypeId
WHERE l.EmployeeId = '12345678'
GROUP BY l.EmployeeLeaveQuotaTypeId, lt.Name
вот мой LINQ
var leaveQuota = await (from l in DB.EmployeeLeaveQuota
join lt in DB.EmployeeLeaveQuotaType on l.EmployeeLeaveQuotaTypeId equals lt.EmployeeLeaveQuotaTypeId
where l.EmployeeId == employeeId
where l.ValidUntil >= DateTime.UtcNow
group new { l, lt } by new
{
l.EmployeeLeaveQuotaTypeId,
l.QuotaDays,
lt.Name
} into g
select new LeaveTypeModel
{
EmployeeLeaveQuotaTypeId = g.Key.EmployeeLeaveQuotaTypeId,
LeaveName = g.Key.Name,
QuotaDays = g.Sum(x => x.l.QuotaDays)
}).ToListAsync();
но когда я бегу, появляется ошибка
InvalidOperationException: ошибка, сгенерированная для предупреждения 'Microsoft.EntityFrameworkCore.Query.QueryClientEvaluationWarning: выражение LINQ' GroupBy (new <> f__AnonymousType1 3(EmployeeLeaveQuotaTypeId = [l].EmployeeLeaveQuotaTypeId, QuotaDays = [l].QuotaDays, Name = [lt].Name), new <>f__AnonymousType0
2 (l = [l], lt = [lt])) 'не может быть переведен и будет оцениваться на месте. '. Это исключение можно подавить или зарегистрировать, передав идентификатор события «RelationalEventId.QueryClientEvaluationWarning» методу «ConfigureWarnings» в «DbContext.OnConfiguring» или «AddDbContext».
Кто-нибудь знает почему? пожалуйста помоги
спасибо