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?
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?
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!
Opa, Armano! Bem completa sua resposta, muito obrigado :)