Я пытаюсь заполнить данные графика общей суммой (суммой) за последние четыре месяца, и визуально это будет выглядеть так:
Я до сих пор пытался сгруппировать данные по годам и месяцам, но я не уверен, что это правильный подход, потому что это не работает ..
Вот код:
var testQUERY = await _context.Calculation
.AsNoTracking()
.Where(x => (x.PaymentDate != null && x.PaymentDate > DateTime.UtcNow.AddMonths(-4)))
.GroupBy(x => new { x.PaymentDate.Value.Year, x.PaymentDate.Value.Month}).ToListAsync();
Вот моя дата платежа:
И мне интересно, как я могу сгруппировать только по месяцам ... Ошибка, с которой я столкнулся, следующая:
Ошибка, сгенерированная для предупреждения 'Microsoft.EntityFrameworkCore.Query.QueryClientEvaluationWarning: выражение LINQ' GroupBy (new <> f__AnonymousType0`2 (Year = Convert ([p] .PaymentDate, DateTime) .Year, Month = Convert)([p] .PaymentDate, DateTime) .Month), [p]) 'не удалось перевести и будет оцениваться локально.'.Это исключение можно подавить или зарегистрировать, передав идентификатор события 'RelationalEventId.QueryClientEvaluationWarning' методу 'ConfigureWarnings' в 'DbContext.OnConfiguring' или 'AddDbContext'.
PS Если я лучше подумаю, потому что я 'используя
x.PaymentDate != null && x.PaymentDate > DateTime.UtcNow.AddMonths(-4)
Мне не нужен новый анонимный тип, в который я также включил год ... но я забыл, что пытаюсь сгруппировать по столбцам, которых не существует ..?