Collection in entity framework model is not updating

The feature you're missing is how the Context Cache works. When you attach an entity (either manually or by requesting an entity from the database) to the context, it's watched by entity framework for changes and tracking those changes.

You've added an object to an entitiy's propety, then added it to the context. Entity Framework is now watching it for changes to do any additional work. All objects added this way are marked as unchanged. Marking the parent changed does not mark the navigation properties as changed.

You can either add the entity to the property inside the context:

using (var context = new MusicPlayerContext())
{
    Console.WriteLine("Save PlayList 2 (in context add)");
    context.Playlists.Attach(playlist3);
    playlist3.PlaylistEntries.Add(new PlaylistEntry { 
      FilePath = "Entry3", 
      PlaylistId = playlist3.PlaylistId, PlaylistEntryId = 3 
    });
    context.SaveChanges();
}

... OR mark both objects entries after attaching the parent.

using (var context = new MusicPlayerContext())
{
    Console.WriteLine("Save PlayList 2 (full attach)");
    context.Playlists.Attach(playlist2);
    context.Entry(playlist2).State = EntityState.Modified;
    context.Entry(playlist2.PlaylistEntries.First()).State = EntityState.Added;
    context.SaveChanges();
}

In both cases Entity Framework now knows what to do in the DB when SaveChanges() occurs.

DotNetFiddle