Não seria necessário dar um update no item pedido antes do SaveChanges()?
dbSet.Update(itemPedido);
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!
Não seria necessário dar um update no item pedido antes do SaveChanges()?
dbSet.Update(itemPedido);
Olá, Tauan
Ótima pergunta! Como você pode perceber, a aplicação roda perfeitamente, logo, no nosso caso, não foi necessário.
O intuito do método Update() é iniciar o rastreamento (tracking) das alterações realizadas num objeto ou entidade. Isso significa que o Entity Framework Core irá varrer as propriedades do objeto e marcá-las como modificadas (estado: Modified).
E então o objeto ou entidade:
Mas ainda resta a dúvida: por que nossa aplicação funciona sem o Update()? Porque naquele ponto já tínhamos pego o objeto do banco de dados, logo sabemos que já existe, logo não vamos inserir, mas sim sempre atualizá-lo no banco de dados. Se a ideia fosse inserir ou atualizar, aí sim, o método Update() deveria ser usado para garantir, com segurança, que o item fosse criado no banco de dados caso ainda não existisse.