Não seria necessário dar um update no item pedido antes do SaveChanges()?
dbSet.Update(itemPedido);
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.