Group By переводится локально? Как это исправить? - PullRequest
2 голосов
/ 08 января 2020

Я вижу это "предупреждение" в моих журналах. Я использую EF Core 2.2.4

Выражение LINQ 'GroupBy (new <> f__AnonymousType95`2 (Date = [x] .CreatedDate.Date, EmployeeId = [x] .EmployeeId), [ x]) 'не может быть переведен и будет оцениваться локально

мой запрос выглядит так

var groupedEvents = dbContext.EventTrackings
    .Where(x => // where clause )
    .GroupBy(x => new { x.CreatedDate.Date, x.EmployeeId })
    .OrderBy(x => x.Key.Date)
    .ToList();

1 Ответ

0 голосов
/ 08 января 2020

Попробуйте создать именованное свойство в вашем анонимном типе .GroupBy(x => new { CreatedDate = x.CreatedDate.Date, x.EmployeeId }). Я думаю, что он не может найти и преобразовать имя свойства Date в имя столбца таблицы БД, если ваше фактическое имя столбца БД - CreatedDate.

var groupedEvents = dbContext.EventTrackings
    .Where(x => // where clause )
    .GroupBy(x => new { CreatedDate = x.CreatedDate.Date, x.EmployeeId })
    .OrderBy(x => x.Key.CreatedDate)
    .ToList();
...