// 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(); } }