protected void AtualizarEntidade(IDbCommand cmd, DbManipulação entidade) { if (!Transacionando) throw new NotSupportedException("Não é permitido o uso de compartilhamento de IDbCommand sem o uso do atributo \"DbTransação\"."); entidade.MarcarTransação(); try { entidade.DispararAntesDeAtualizar(); entidade.Atualizar(cmd); entidade.atualizado = true; if (entidade.DepoisDeAtualizar != null) entidade.DepoisDeAtualizar(entidade); } finally { entidade.DesmarcarTransação(); } }