// POST: api/SongBook
 public void AddSongBook(SongBookInfo value)
 {
     using (var context = Context)
     {
         var songBook = new SongBook {Name = value.Name};
         songBook.Songs = value.Songs.Select(d => new SongInSongBook {SongBook = songBook, SongKey = d}).ToList();
         context.SongBooks.Add(songBook);
         context.SaveChanges();
     }
 }
 // PUT: api/SongBook/5
 public void UpdateSongBook(int id, SongBookInfo value)
 {
     using (var context = Context)
     {
         var existing = context.SongBooks.SingleOrDefault(d => d.Key == id);
         if (existing != null)
         {
             context.SongsInSongBooks.RemoveRange(
                 context.SongsInSongBooks.Where(d => d.SongBookKey == existing.Key));
         }
         existing?.Update(value);
         context.SaveChanges();
     }
 }