Я пытаюсь объединить три таблицы вместе, но я просто не могу получить свои операторы LINQ, чтобы получить данные, которые я хочу. Мой SQL запрос, который я хочу повторить, выглядит следующим образом:
SELECT TOP 5 SUM(Grade) AS 'TotalGrade', COUNT(Restaurants.Name) AS 'NumberOfVisits', Restaurants.Name FROM Lunches
JOIN dbo.LunchRestaurant ON Lunches.LunchId = LunchRestaurant.LunchId
JOIN Restaurants ON Restaurants.RestaurantId = LunchRestaurant.RestaurantId
GROUP BY Restaurants.Name
У меня есть LINQ-оператор:
var q = from l in lunchContext.Lunches
join lr in lunchContext.LunchRestaurant on l.LunchId equals lr.LunchId
join r in lunchContext.Restaurants on lr.RestaurantId equals r.RestaurantId
select new { l.Grade, r.RestaurantId};
Но с этим я не могу получить в моей группе оператором или агрегатными функциями, как бы я ни пытался. Есть ли у вас какие-либо предложения о том, что делать? Также, похоже, нет способа написать необработанные операторы SQL при работе с несколькими таблицами, по крайней мере, нелегко сделать в EF Core, если я не ошибаюсь. В противном случае это тоже будет вариант.