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

SaveChanges itemPedido

Não seria necessário dar um update no item pedido antes do SaveChanges()?

dbSet.Update(itemPedido);
1 resposta
solução!

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:

  • é atualizado ou
  • é inserido no banco de dados

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.