Como usar o LINQ para selecionar um objeto?

Eu tenho dados assim:

UserId   |  SongId
--------   --------
1          1
1          4
1          12
2          95

Eu também tenho a seguinte classe:

class SongsForUser
{
    public int User;
    public List<int> Songs;
}

O que eu gostaria de fazer é usar o LINQ para selecionar meus dados para criar uma coleção de objetos SongsForUser. Abaixo está o que eu tenho até agora:

var userCombos = songs.UserSongs.Select(x => new SongsForUser() { User = x.UserId, 
                                                                  Songs = /*What goes here?*/ });

Como eu iria preencher meuSongs Lista?

Portanto, o resultado deve ser dois objetos SongsForUser. Para usuário1 teria 3 itens noSongs Lista. Para usuário2 ele teria 1 item noSongs Lista.

questionAnswers(4)

yourAnswerToTheQuestion