Я пытаюсь написать этот select в LINQ, но Im не удалось исправить его в течение длительного времени. Я также пробовал LINQ - join with Group By and get average, но он не работает в моем коде. Очевидно, я ошибаюсь.LINQ - multi join with Group by и получить среднее значение
SQL:
SELECT name_type, AVG(t.price) as avgPrice FROM type tp
JOIN location l ON l.ID_type = tp.ID
JOIN event e ON e.ID_location = l.ID
JOIN ticket t ON t.ID_event = e.ID
GROUP BY tp.name_type
LINQ:
var q3 = from l in db.location
join tp in db.type on l.ID_type equals tp.ID
join e in db.event on l.ID equals u.ID_location
join t in db.ticket on e.ID equals t.ID_event
group tp by new {Type_name = tp.type_name} into grp
select new
{
Type_name = grp.Key.type_name,
avgPrice = grp.Average(x => x.ticket.price)
};
Спасибо Су много! Он отлично работает :) Теперь я могу попробовать попробовать более сложные варианты ... – Matwosk