【发布时间】:2014-03-05 18:28:15
【问题描述】:
我正在尝试在我的餐厅评论网站上提出建议系统。它获取某个餐厅的所有评论的平均分数,然后从与原始餐厅具有相同美食的所有其他餐厅中找到平均评论分数。它返回一个具有相同美食且平均评价高于原始餐厅的餐厅列表。然后它将列表保存到数据库中。
我尝试在 linq 中创建查询,但我不断收到错误消息,例如 Cannot implicitly convert type 'System.Collections.Generic.List<int>' to 'int' 或查询结果错误。
任何帮助都会很棒。
错误线
var getrestaurantaverage = db.Reviews
.Where(r => r.RestaurantId = getrestaurantsid)
.Average(r => r.score);
建议功能
var averagescore = db.Reviews
.Where(r => r.RestaurantId == review.RestaurantId)
.Average(r => r.score);
var getrestaurantsid = (from r in db.Reviews
where r.Cuisine == review.Cuisine
select r.RestaurantId).ToList();
var getrestaurantaverage = db.Reviews
.Where(r => r.RestaurantId = getrestaurantsid)
.Average(r => r.score);
var choices = (from r in db.Reviews
where getrestaurantaverage >= averagescore
select r.RestaurantId).ToList();
foreach (var item in choices)
{
var suggestion = new Suggestion()
{
reviewid = review.id,
Userid = review.UserId,
restaurantid = item
};
db.Suggestions.Add(suggestion);
db.SaveChanges();
}
return RedirectToAction("Index", "Review");
【问题讨论】:
-
哪一行给你一个错误?
标签: c# asp.net sql asp.net-mvc linq