Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida sobre o construtor

Pq exatamente tivemos que adicionar uma propriedade do tipo FilmeContext no construtor do nosso controlador? Não poderíamos seguir com a utilização do FilmeContext mas sem ter colocado ele no construtor?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

2 respostas
solução!

Olá, Miguel! Tudo joia?

A propriedade do tipo FilmeContext foi adicionada no construtor do controlador para permitir a injeção de dependência do contexto do banco de dados. Isso significa que o controlador agora depende do contexto para acessar e manipular os dados do banco.

Ao adicionar o FilmeContext no construtor, estamos garantindo que sempre teremos uma instância válida do contexto disponível para ser utilizada nos métodos do controlador. Sem essa injeção de dependência, não seria possível acessar o contexto e realizar operações no banco de dados.

Por exemplo, no método AdicionarFilme, utilizamos o contexto para adicionar o filme no banco de dados:

[HttpPost]
public IActionResult AdicionarFilme([FromBody] Filme filme)
{
    _context.Filmes.Add(filme);
    _context.SaveChanges();
    return CreatedAction(nameof(RecuperaFilmePorId),
        new { id = filme.Id },
        filme);
}

Sem a injeção do FilmeContext no construtor, não teríamos como acessar o _context e realizar a operação de adicionar o filme no banco.

Então, é necessário adicionar o FilmeContext no construtor para que o controlador tenha acesso ao contexto do banco de dados e possa realizar as operações necessárias.

Para mais informações veja: Injeção de dependência no ASP.NET Core

Espero ter esclarecido sua dúvida! Se tiver mais alguma pergunta, é só me dizer.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.

Opa, Armano! Bem completa sua resposta, muito obrigado :)