У меня есть приложение для просмотра ресторанов, в котором есть отдельная таблица ресторанов и обзоров. Я создал MVC WebAPI, который имеет способ передать объект ресторана на основе идентификатора ресторана.Поиск Среднее значение, основанное на подсчете строк в LINQ
В качестве части возвращаемого объекта я хотел бы добавить среднее значение оценки, которое основано на сумме значений рейтинга, внесенных в таблицу отзывов, разделенных на ресторан Id по общему количеству отзывов, поступивших в ресторан Я бы.
Было бы здорово, если бы значение было в формате десятичной запятой.
Я смог получить среднее значение (без десятичных знаков) из таблицы Отзывов, используя следующий код
var sum = (from a in db.Reviews
where a.ReviewsRestaurantID.Equals(id)
select a.ReviewsRating).Sum();
var count = (from a in db.Reviews
where a.ReviewsRestaurantID.Equals(id)
select a.ReviewsRating).Count();
decimal average = sum/count;
Я не знаю, как я могу добавить значение на мой запрос используется для возврата Ресторана по методу ID (см. ниже). Может ли кто-нибудь помочь в добавлении пользовательского среднего значения рейтинга к методу ниже или есть способ сделать соединение в таблице отзывов и рассчитать стоимость более эффективно?
public IQueryable<Restaurant> GetRestaurantByID(int id)
{
var query = from a in db.Restaurants
where a.RestaurantID.Equals(id)
select a;
return query;
}
Вы не ограничиваете его 'id' – Hogan
Я не ограничиваю что? –
А, я вижу, это было два вопроса ... неважно. – Hogan