// PUT api/musicalbum/5 public void Put(int id, MusicAlbum musicAlbum) { using (var ctx = new StoreEntities()) { var albumRaw = ctx.Albums.Single(q => q.AlbumId == id); albumRaw.Title = musicAlbum.Title; albumRaw.Price = musicAlbum.Price; albumRaw.ArtistId = musicAlbum.Artist.Key; albumRaw.GenreId = musicAlbum.Genre.Key; ctx.SaveChanges(); } }
// POST api/musicalbum public void Post(MusicAlbum musicAlbum) { using (var ctx = new StoreEntities()) { ctx.Albums.Add(new Album { Title = musicAlbum.Title, Price = musicAlbum.Price, ArtistId = musicAlbum.Artist.Key, GenreId = musicAlbum.Genre.Key }); ctx.SaveChanges(); } }
// GET api/musicalbum/5 public MusicAlbum Get(int id) { MusicAlbum musicAlbum = null; using (var ctx = new StoreEntities()) { var albumRaw = (from album in ctx.Albums where album.AlbumId == id join artist in ctx.Artists on album.ArtistId equals artist.ArtistId join genre in ctx.Genres on album.GenreId equals genre.GenreId select new { album, artist, genre }).SingleOrDefault(); if (albumRaw != null) { musicAlbum = new MusicAlbum { Id = albumRaw.album.AlbumId, Title = albumRaw.album.Title, Price = albumRaw.album.Price, Artist = new KeyValuePair<int, string>(albumRaw.artist.ArtistId, albumRaw.artist.Name), Genre = new KeyValuePair<int, string>(albumRaw.genre.GenreId, albumRaw.genre.Name) }; } } return musicAlbum; }