Como obter o primeiro registro em cada grupo usando o Linq

Considerando os seguintes registros:

   Id          F1            F2             F3 
 -------------------------------------------------
   1           Nima          1990           10
   2           Nima          1990           11
   3           Nima          2000           12
   4           John          2001           1
   5           John          2002           2 
   6           Sara          2010           4

Eu quero agrupar por baseado noF1 campo e classificar porId e obtenha todos os campos do primeiro registro do grupo semelhante a esses registros:

   Id          F1            F2             F3 
 -------------------------------------------------
   1           Nima          1990           10
   4           John          2001           1
   6           Sara          2010           4

Como posso fazer isso usando o linq?

questionAnswers(4)

yourAnswerToTheQuestion