Выражение LINQ 'Sum ()' не может быть переведено и будет оцениваться локально - PullRequest
1 голос
/ 02 апреля 2019

У меня следующий запрос в 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.

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

...