Quado eu fiz https://localhost:7023/Artistas/Pitty, apareceu o seguinte error na tela do console:
An unhandled exception occurred while processing the request. NotSupportedException: The deserialization constructor for type 'Castle.Proxies.ArtistaProxy' contains parameters with null names. This might happen because the parameter names have been trimmed by ILLink. Consider using the source generated serializer instead.
Pesquisei e achei a solução, RETIREI O CONSTRUTOR da classe artista e defini seus valores como vazios, ficando da seguinte forma:
namespace ScreenSound.Modelos;
public class Artista
{
public virtual ICollection<Musica> Musicas { get; set; } = new List<Musica>();
public string Nome { get; set; } = "";
public string FotoPerfil { get; set; } = "https://cdn.pixabay.com/photo/2016/08/08/09/17/avatar-1577909_1280.png";
public string Bio { get; set; } = "";
public int Id { get; set; }
public void AdicionarMusica(Musica musica)
{
Musicas.Add(musica);
}
public void ExibirDiscografia()
{
Console.WriteLine($"Discografia do artista {Nome}");
foreach (var musica in Musicas)
{
Console.WriteLine($"Música: {musica.Nome} - Ano de Lançamento: {musica.AnoLancamento}");
}
}
public override string ToString()
{
return $@"Id: {Id}
Nome: {Nome}
Foto de Perfil: {FotoPerfil}
Bio: {Bio}";
}
}
E depois disso deu certo, porém não entendi o pq que a presença do cosntrutor fazia aparecer esse erro. O que seria serrialização e deserialização?