Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Estaria "errado" se o método fosse apenas para a classe músicas?

Na classe DAL acabei criando o método apenas para a classe Musica, uma vez que "Listar por Ano" cabe apenas para músicas. Entretanto concordo que a solução apresentada é uma forma mais útil e consegue ser reaproveitada para outras situações. Segue minha solução pra dizerem se estou certo ou errado em pensar assim:

Método em DAL

    public IEnumerable<Musica> ListarPorAno()
    {
        return context.Set<Musica>().ToList().OrderByDescending(a => a.AnoLancamento);
    }

Classe do Menu

internal class MenuTodasMusicasPorAno : Menu
{
    public override void Executar(DAL<Artista> artistaDAL)
    {
        base.Executar(artistaDAL);
        ExibirTituloDaOpcao("Exibindo todas as músicas registradas, ordenadas por ano de lançamento:");
        foreach (var musica in artistaDAL.ListarPorAno())
        {
            Console.WriteLine($"Musica: {musica.Nome} - Ano: {musica.AnoLancamento} - Artista: {musica.Artista.Nome}");
        }

        Console.WriteLine("\nDigite uma tecla para voltar ao menu principal");
        Console.ReadKey();
        Console.Clear();
    }
}

Obrigado ^_^

1 resposta
solução!

Se está rodando, e o resultado está correto, então ótimo. Obs: Repare que seguindo dessa forma, fica uma leitura esquisita: artistaDAL.ListarPorAno(), listar oq por ano? Ano de nascimento do artista?

Sugestão: mudar o nome do método, já que tirou do tipo genérico e é explicito Musica -> ListarMusicasPorAno() artistaDAL.ListarMusicasPorAno()