Jak korzystać z LINQ, aby wybrać obiekt?

Mam dane, które wyglądają tak:

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

Mam też następującą klasę:

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

Chciałbym użyć LINQ, aby wybrać z moich danych, aby utworzyć zbiór obiektów SongsForUser. Poniżej przedstawiam do tej pory:

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

Jak bym się zajmował zaludnieniem mojegoSongs Lista?

Tak więc wynikiem powinny być dwa obiekty SongsForUser. Dla użytkownika1 miałoby 3 elementy wSongs lista. Dla użytkownika2 miałby 1 element wSongs lista.

questionAnswers(4)

yourAnswerToTheQuestion