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 ^_^