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.
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.
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!