그래서 두 개의 db 테이블을 그룹화하고 각 카테고리의 리뷰 수를 기준으로 상위 25 개를 선택하기 위해 linq 문을 수행하려고합니다. 그래서 내 SQL 문은Linq group by, orderbydescending, and count
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
입니다. 완벽하게 작동합니다. 이제는 내 웹 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를 호출 할 때 모든 카운트가 동일한 것 같습니다 그래서 내가 뭔가 잘못하고 있어요 : 이것은 내가 무엇을 가지고 .