Olá, Pedro.
Tudo bem?
O aviso de possível valor nulo é importante, pois ajuda a evitar exceções no seu código.
Não há problema em utilizar o método Listar()
dessa forma, mas é sempre bom ter em mente que ele pode retornar uma coleção vazia, resultando em null
quando você usa FirstOrDefault
.
Para evitar problemas com valores nulos, você pode adicionar uma verificação logo após a busca. Por exemplo:
var artista = artistaDal.Listar().FirstOrDefault(x => x.Nome == "nome do artista");
if (artista == null)
{
Console.WriteLine("Artista não encontrado.");
// Trate o caso de não encontrar o artista, talvez retornando ou lançando uma exceção
}
else
{
// Continue com a lógica de atualização ou deleção
}
Para testar a funcionalidade no Program.cs
, você pode criar um método de teste que chama os métodos Atualizar
e Deletar
com parâmetros específicos. Aqui está um exemplo de como você pode fazer isso:
static void Main(string[] args)
{
var artistaDal = new ArtistaDal(); // Supondo que você tenha uma classe ArtistaDal
// Teste para Atualizar
var artistaParaAtualizar = artistaDal.Listar().FirstOrDefault(x => x.Nome == "nome do artista");
if (artistaParaAtualizar != null)
{
artistaParaAtualizar.Nome = "Novo Nome";
artistaParaAtualizar.Bio = "Nova Bio";
artistaDal.Atualizar(artistaParaAtualizar);
Console.WriteLine("Artista atualizado com sucesso.");
}
else
{
Console.WriteLine("Artista não encontrado para atualização.");
}
// Teste para Deletar
var artistaParaDeletar = artistaDal.Listar().FirstOrDefault(x => x.Nome == "nome do artista");
if (artistaParaDeletar != null)
{
artistaDal.Deletar(artistaParaDeletar);
Console.WriteLine("Artista deletado com sucesso.");
}
else
{
Console.WriteLine("Artista não encontrado para deleção.");
}
}
Dessa forma, você garante que seu código está preparado para lidar com situações em que o artista não é encontrado, evitando possíveis exceções e melhorando a robustez do seu programa.
Veja se faz sentido, testa se possível.
Espero ter ajudado. Qualquer dúvida manda aqui. Bons estudos.