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);?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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);?
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!