Выражение LINQ ‘Sum()’ не удалось перевести и оно будет вычислено локально

#c# #.net-core #entity-framework-core #entity-framework-core-2.2

#c# #.net-core #entity-framework-core #entity-framework-core-2.2

Вопрос:

У меня есть следующий запрос в Entity Framework Core:

 var results = context.Packages.AsNoTracking()
  .Select(x => new {
    Result = x.Products
      .SelectMany(y => y.Definition.Conversions, (Product, Conversion) => new { Product = Product, Conversion = Conversion })
      .Where(y => y.Product.DefinitionId == y.Conversion.DefinitionId)
      .Select(y => new {
        Coefficient = y.Conversion.Coefficient,
        Price = y.Product.Price.Value,
      })
      .GroupBy(y => 1)
      .Select(y => new {
        Coefficient = y.Sum(z => z.Coefficient),
        Price = y.Sum(z => z.Price)
      })
    }).ToList();
  

Когда я запускаю этот запрос, я получаю сообщение:

 The LINQ expression 'Sum()' could not be translated and will be evaluated locally.
  

Чего мне не хватает

Комментарии:

1. В 2.1 была проблема с конкретной GroupBy Сумма вычисляется локально # 12433 интересно, связано ли это. вы уверены, что используете 2.2?

2. Да, я использую Entity Framework 2.2. Я только что проверил …