System.InvalidOperationException при объединении двух таблиц - PullRequest
0 голосов
/ 27 мая 2020

В проекте у меня есть две таблицы

  • Restaurant (RestaurantId, Name, Adress)
  • RestaurantReview (ReviewId, RestaurantId, Mark)

I хочу отобразить один ресторан и рассчитать его среднюю оценку

var lj = (from x in _context.Restaurant
         join y in _context.RestaurantReview on x.RestaurantId equals y.RestaurantId into z
         select new
         {
              Name= x.Name,
              Total = z.Average(x => Convert.ToInt32(x.Mark))
         }).ToList();

при запуске этого кода я получил ошибку

System.InvalidOperationException: „Processing of the LINQ expression 'GroupJoin<Restaurant, RestaurantReview , int, <>f__AnonymousType4<string, double>>(
    outer: DbSet<Restaurant>, 
    inner: DbSet<RestaurantReview >, 
    outerKeySelector: (x) => x.RestaurantId, 
    innerKeySelector: (y) => y.RestaurantId, 
    resultSelector: (x, z) => new { 
        Name = x.Name , 
        Total = Average<RestaurantReview >(
            source: z, 
            selector: (x) => ToInt32(x.mark))
     })' by 'NavigationExpandingExpressionVisitor' failed. This may indicate either a bug or a limitation in EF Core. 

Я пытаюсь использовать другой запрос, но каждый раз получаю ту же ошибку

1 Ответ

1 голос
/ 27 мая 2020
Группа

отсутствует в вашем коде. Добавить группу по в выражении linq

...