public async Task <IActionResult> Get(int id) { var images = _imageRepository.Query().Where(a => a.Id == id) .Include(a => a.Category) .Include(a => a.User) .Include(a => a.ImageTag). ThenInclude(tg => tg.Tag) .FirstOrDefault(); if (images == null) { return(NotFound("No images Found")); } var mapped = _mapper.Map <GetImageDto>(images); await _imageRepository.AddImageViews(new ImageView() { ImageId = mapped.Id }); await _imageRepository.Save(); var colors = _imageColorRepository.Query() .Where(a => a.ImageId == mapped.Id) .Select(a => a.Color) .ToList(); var fileInfo = await _fileInfoRepository.Query().FirstOrDefaultAsync(a => a.ImageId == mapped.Id); mapped.Colors = _mapper.Map <List <ColorDto> >(colors); mapped.FileInfo = _mapper.Map <GetFileInfoDto>(fileInfo); return(Ok(mapped)); }