In order to extend our APIs with the related entities, we should start from the bottom of our stack. First of all, let's spread the capabilities of the data access layer by adding the following interfaces in the Repositories folder of the Catalog.Domain project:
// Repositories/IArtistsRepository.csusing System;using System.Collections.Generic;using System.Threading.Tasks;using Catalog.Domain.Entities;namespace Catalog.Domain.Repositories{ public interface IArtistRepository : IRepository { Task<IEnumerable<Artist>> GetAsync(); Task<Artist> GetAsync(Guid id); Artist Add(Artist item); }}// Repositories/IGenreRepository.csusing System;using System.Collections.Generic;using System.Threading.Tasks;using Catalog.Domain.Entities; ...