Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Transação

Não entendi bem o que seria esse negócio de transação. É o método que libera os comandos para o banco de dados?

2 respostas
solução!

Oi Leonardo tudo bem?

Segundo a Wikipédia:

Transação em banco de dados é um conjunto de procedimentos, executados num banco de dados, que o usuário percebe como uma única ação.

Ou seja quando escrevemos um novo post aqui no fórum o banco de dados faz algumas coisas (pelo menos, porque não conheço as tabelas do banco de dados rsrsrs): escreve uma resposta no fórum, escreve no seu histórico de aluno a ação que escreveu esta resposta, e soma na sua pontuação mais 200 pontos.

Tudo isso foi uma transação no banco de dados. Então não é só o método que dá o comando para o banco de dados fazer essas coisas, mas tudo que o programa fez nesta hora está dentro da transação.

Para saber mais: https://pt.wikipedia.org/wiki/Transa%C3%A7%C3%A3o_em_base_de_dados

Espero ter ajudado!!!

Leonardo, complementando a resposta do André: quando chamamos o método SaveChanges() do contexto , internamente uma transação é criada, os comandos SQL são enviados pela conexão e, se tudo correr bem, a transação é fechada com sucesso (costumamos dizer que é feito um COMMIT na transação).

Se algum comando SQL der erro, o contexto vai fechar a conexão cancelando tudo o que foi executado desde a abertura da transação (costumamos dizer que é feito um ROLLBACK nela).

Abraços!