public Playlist ReadPlaylist(long playlistId)
{
var playlist = context.Playlists
.Include(p => p.PlaylistTracks)
.Include(p => p.PlaylistTracks.Select(pt => pt.Track))
.Include(p => p.PlaylistTracks.Select(pt => pt.Track.TrackSource))
.Include(p => p.PlaylistTracks.Select(pt => pt.Votes))
.Include(p => p.PlaylistTracks.Select(pt => pt.Votes.Select(v => v.User)))
.ToList()
.SingleOrDefault(p => p.Id == playlistId);
if (playlist == null) return null;
var tracks = context.PlaylistTracks.Where(p => p.PlaylistId == playlistId).ToList();
playlist.PlaylistTracks = tracks;
return playlist;
}