title: LINQ Rollback in Multiple Tables
body: <p>Veiculo veiculo = new Veiculo();</p>
  
  <pre><code>                    veiculo.codigoUsuario = usuario.codigoUsuario;
                      veiculo.codigoTipoVeiculo = Convert.ToInt32(ddlTipoVeiculo.SelectedValue);
                      veiculo.codigoTipoMarca = Convert.ToInt32(ddlTipoMarca.SelectedValue);
                      veiculo.codigoTipoModelo = Convert.ToInt32(ddlTipoModelo.SelectedValue);
                      veiculo.codigoTipoCombustivel = Convert.ToInt32(ddlTipoCombustivel.SelectedValue);
                      veiculo.codigoTipoCambio = Convert.ToInt32(ddlTipoCambio.SelectedValue);
                      //veiculo.codigoTipoVersao = Convert.ToInt32(ddlTipoVersao.SelectedValue);
                      veiculo.AnoFabricacao = Convert.ToInt32(ddlDataFabricacao.SelectedValue);
                      veiculo.AnoModelo = Convert.ToInt32(ddlDataModelo.SelectedValue);
                      veiculo.Valor = Convert.ToDecimal(txtValor.Text);
                      veiculo.Cor = ddlCor.SelectedValue;
                      veiculo.Portas = Convert.ToInt32(ddlPortas.SelectedValue);
                      veiculo.Destaque = true;
                      veiculo.Ativo = true;
                      veiculo.Kilometragem = txtKilometragem.Text;
                      veiculo.DataCadastro = DateTime.Now;
                      veiculo.DataVencimento = DateTime.Now.AddMonths(1);
  
                      try
                      {
                          ctx.AddToVeiculo(veiculo);
                          ctx.SaveChanges();
  
                          AdicionarOpcionais(veiculo);
  
                          SaveImage(FUImagemPrincipal, veiculo);
                          SaveImage(FUSegundaImagem, veiculo);
                          SaveImage(FUTerceiraImagem, veiculo);
                          SaveImage(FUQuartaImagem, veiculo);
                          SaveImage(FUQuintaImagem, veiculo);
                          SaveImage(FUSextaImagem, veiculo);
                      }
                      catch (Exception)
                      {
  
                      }
  </code></pre>
  
  <p><strong>THE SAVE IMAGE METHOD</strong></p>
  
  <pre><code>private void SaveImage(FileUpload FileUpload, Veiculo veiculo)
  {
      // Upload Original Image Here
      string uploadFileName = "";
      string uploadFilePath = "";
      VeiculoImagem veiculoImagem = new VeiculoImagem();
  
      if (FileUpload.HasFile)
      {
          string ext = Path.GetExtension(FUImagemPrincipal.FileName).ToLower();
          if (ext == ".jpg" || ext == ".jpeg" || ext == ".gif" || ext == ".png")
          {
              uploadFileName = Guid.NewGuid().ToString() + ext;
              uploadFilePath = Path.Combine(Server.MapPath("~/upload"), uploadFileName);
              try
              {
                  veiculoImagem.Url = "/upload/" + uploadFileName;
                  veiculoImagem.codigoVeiculo = veiculo.codigoVeiculo;
  
                  ctx.AddToVeiculoImagem(veiculoImagem);
                  ctx.SaveChanges();
  
                  FileUpload.SaveAs(uploadFilePath);
              }
              catch (Exception)
              {
                  Alert.Visible = true;
                  lbAlert.Text = "Erro, tente novamente.";
              }
          }
          else
          {
              Alert.Visible = true;
              lbAlert.Text = "Tipo de arquivo selecionado não permitido.";
          }
      }
  }
  </code></pre>
  
  <p>How  do i rollback if dont save the images (enter on else)? Because it save the veiculo, but dont save the images...</p>
  
  <p>I don't know if my question is clearly... But please, help me!</p>