【发布时间】:2014-05-20 13:04:22
【问题描述】:
所以我正在尝试使用 linq 语句对两个数据库表进行分组,并根据每个类别的评论数选择前 25 个。所以我的sql语句是
SELECT TOP 25 BusinessCategories.Category, COUNT(*) as count
FROM Reviews
JOIN BusinessCategories
ON BusinessCategories.BusinessID=Reviews.BusinessID
GROUP BY BusinessCategories.Category
ORDER BY count desc
效果很好。所以现在尝试在我的 web api 中执行此操作我遇到了麻烦。这就是我所拥有的:
var top = (from review in Db.Reviews
from category in Db.BusinessCategories
where review.BusinessID == category.BusinessID
group review by category into reviewgroups
select new TopBusinessCategory
{
BusinessCategory = reviewgroups.Key,
Count = reviewgroups.Count()
}
).OrderByDescending(x => x.Count).Distinct().Take(25);
这给了我一些相同的结果,但是当我在浏览器中调用 api 时,所有计数都相同......所以我做错了什么。
【问题讨论】:
标签: c# asp.net sql linq asp.net-web-api