【发布时间】:2013-07-31 23:58:35
【问题描述】:
我有一个餐厅评论应用程序,它有一个单独的餐厅和评论表。我已经构建了一个 MVC WebAPI,它有一个基于餐厅 ID 传递餐厅对象的方法。
作为返回对象的一部分,我想添加一个平均评分值,该值基于在评论表中输入的评分值的总和除以餐厅 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;
}
【问题讨论】:
标签: c# linq asp.net-mvc-4 asp.net-web-api