Eu não sei se foi proposital mas as coisas que eu senti no exercício são:
- Para gravar músicas era importante saber qual é o artista da música então fiz a tabela com um campo a mais:
CREATE TABLE [dbo].[Musicas] (
[Id] INT IDENTITY (1, 1) NOT NULL,
[Nome] NVARCHAR (255) NOT NULL,
[ArtistaID] INT NOT NULL
);
- com essa alteração eu criei a classe musicasDAL apenas com o consultar por artista:
class MusicaDAL
{
private readonly ScreenSoundContext context;
public MusicaDAL()
{
this.context = new ScreenSoundContext();
}
public MusicaDAL(ScreenSoundContext context)
{
this.context = context;
}
public List<Musica> ListarPorArtista(int artistaID)
{
if (context.Musicas.Any(x => x.ArtistaID == artistaID))
{
return context.Musicas.ToList().FindAll(x => x.ArtistaID == artistaID);
}
return new List<Musica>();
}
public void Incluir(Musica musica)
{
context.Musicas.Add(musica);
context.SaveChanges();
}
public void Alterar(Musica musica)
{
context.Musicas.Update(musica);
context.SaveChanges();
}
public void Excluir(Musica musica)
{
context.Musicas.Remove(musica);
context.SaveChanges();
}
}
e então testei as oções 2 e 4 do ScreenSound.