LINQ selecionar c # distinta

Estou tentando fazer uma consulta que não inclua repetidasIdUser valores, mas não funciona.

esta é minha consulta linq:

var sql= (from u in db.USER
          join c in db.CONSULT on u.IdUser equals c.IdUser 
          select new UsuersViewModel 
                 {  
                    IdUser = c.IdUser, 
                    DateCreate=c.DateCreate, 
                    IdTypeConsult = c.IdTypeConsult, 
                    Sex=u.Sex 
                 })
                 .Distinct();

Eu quero isso:

SELECT   distinct CONSULT.IdUser , CONSULT.DateCreate, 
         CONSULT.IdTypeConsult , USER.Sex
FROM   CONSULT INNER JOIN
       USER ON CONSULT.IdUser = USER.IdUser 

A consulta fornece registros duplicados

Por que isso não funciona?

questionAnswers(3)

yourAnswerToTheQuestion