private async Task <object> Get(ISongIdentity song) { if (song == null) { throw new ArgumentNullException(nameof(song)); } return(await Context.Song .Select(x => new Song { Id = x.Id, Name = x.Name, Duration = x.Duration, Album = new Album { Id = x.Album.Id, Name = x.Album.Name, ImageUrl = x.Album.ImageUrl, Artist = new Artist { Id = x.Album.Artist.Id, Name = x.Album.Artist.Name, ImageUrl = x.Album.Artist.ImageUrl } } }) .FirstOrDefaultAsync(x => x.Id == song.Id)); // return await Context.Song.IgnoreAutoIncludes() // .Include(x => x.Album) // .ThenInclude(x => x.Artist) // .FirstOrDefaultAsync(x => x.Id == song.Id); }
public async Task DeleteAsync(ISongIdentity id) { var song = await Context.Song .Include(x => x.Album) .FirstOrDefaultAsync(x => x.Id == id.Id); Context.Song.Remove(song); await Context.SaveChangesAsync(); }
public Task DeleteAsync(ISongIdentity song) { return(SongDataAccess.DeleteAsync(song)); }
public Task <Song> GetAsync(ISongIdentity song) { return(SongDataAccess.GetAsync(song)); }
public async Task <Song> GetAsync(ISongIdentity id) { var result = await Get(id); return(Mapper.Map <Song>(result)); }