У меня есть этот SQL запрос, который делает то, что я хочу, но я смущен, как GroupBy()
и OrderBy()
работы точно ...GroupBy и OrderBy в LINQ
Вот заявление SQL у меня есть, что работает отлично:
SELECT TOP 5 UserID, COUNT(*)
FROM SkillLevelMap
WHERE SkillID = 183 OR SkillID = 102 OR SKILLID = 103
GROUP BY UserID
ORDER BY COUNT(*) DESC
что конечный продукт идеально есть список UserIds, которые удовлетворяют эти условия, упорядочено по вхождению каждого SkillID, где пользователь, который имеет наибольшее количество SkillIDs совпавший находится на вершине, спускаясь к людям которые имеют меньше.
То, что я пытался без толку:
var userList2 = SQEPData.AllSkillLevelMaps.Where(x => skillIDs.Contains(x.SkillID)).GroupBy(g => g.User);