Selecione o valor mais frequente usando o LINQ

Estou tentando selecionar os cinco principais valores mais frequentes na minha tabela e retorná-los em uma lista.

var mostFollowedQuestions = (from q in context.UserIsFollowingQuestion select *top five occuring values from q.QuestionId*).toList(); 

Qualquer ideia?

obrigado

  var mostFollowedQuestions = context.UserIsFollowingQuestion .GroupBy(q => q.QuestionId) .OrderByDescending(gp => gp.Count()) .Take(5) .Select(g => g.Key).ToList(); 
  int[] nums = new[] { 1, 1, 1, 2, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7 }; IEnumerable top5 = nums .GroupBy(i => i) .OrderByDescending(g => g.Count()) .Take(5) .Select(g => g.Key);