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

Porque não foi usado o .Update()

Durante aula 2 foi ensinado que para alterar um dado no banco era preciso usar o .Update(), mas na aula 3 não foi necessário o uso, e além disso ainda tb não foi necessário no final usar o SaveChange(). Fiquei um pouco confuso com isso.

1 resposta
solução!

Olá Kim, tudo bem?

Utilizando o método .Update() é necessário passar o objeto para fazer a atualização. Com isso o Entity mudaria o status para Modified para este objeto e depois seria necessário salvar as alterações.

Neste vídeo o Daniel modificou o objeto dentro do contexto quando executou a linha: primeiro.Nome = "Cassino Royale - Editado"

Depois ele apenas precisou salvar as alterações. Então esse foi um outro modo de alterar, que neste caso não precisou passar o objeto inteiro para fazer a alteração.

Quanto a ele não utilizar o SaveChanges() no final do código foi apenas para mostrar o status, já que não iria persistir os dados e de fato não foi persistido sem esse método.

Ou seja, é possível alterar o objeto diretamente e não precisar do .Update() se o contexto já tiver o objeto alterado previamente. Se o código não tiver o SaveChanges() é sinal de que o banco não será alterado, mesmo que o Entity mapeie a alteração.

Bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software