Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Por que _context.Remove(filme); funciona?

Eu tentei fazer por conta própria antes de assistir à solução e intuitivamente utilizei _context.Filmes.Remove(filme); que aparentemente funciona também. Como funciona o _context.Remove(filme);?

1 resposta
solução!

Olá Ruan! Bom dia!

Que bom que você está se dedicando ao curso ".NET 6: criando uma web API"!

Sobre a sua dúvida, tanto _context.Remove(filme); quanto _context.Filmes.Remove(filme); são formas de remover um registro do banco de dados, porém, a diferença está na forma como o Entity Framework Core (EF Core) trata essas operações.

Ao utilizar _context.Remove(filme);, o EF Core entende que você quer remover o objeto filme da base de dados, independente de qual tabela ele pertence. Já ao utilizar _context.Filmes.Remove(filme);, o EF Core entende que você quer remover o objeto filme da tabela Filmes.

Essa diferença pode parecer sutil, mas pode fazer a diferença em situações onde você precisa remover um registro que está em uma tabela relacionada, por exemplo.

Espero ter ajudado a esclarecer a sua dúvida. Se tiver mais alguma pergunta, é só falar!

Bons estudos!