Erro ao Gravar Dados no Sql Server com Entity Framework CSharp
03/05/2015
0
Boa Tarde
Ao gravar os dados de um pedido está me retornando o erro "an error occurred while updating the entries. see the inner exception for details", bem no comando SaveChanges(); do objeto do entity framework, estou começando a mexer agora com o entity, segue o código que estou utilizando para gravar os dados
Ao gravar os dados de um pedido está me retornando o erro "an error occurred while updating the entries. see the inner exception for details", bem no comando SaveChanges(); do objeto do entity framework, estou começando a mexer agora com o entity, segue o código que estou utilizando para gravar os dados
private void GravarPedido() { try { Pedidos pedido; FSapatariaEntidades.Database.Connection.Open(); if(!txtPedido.Text.Equals("")) { decimal lPedido = Convert.ToDecimal(txtCodCliente.Text); pedido = FSapatariaEntidades.Pedidos.Single(p => p.Pedido.Equals(lPedido)); } else { pedido = new Pedidos(); } if(pedido != null) { pedido.Cliente = Convert.ToDecimal(txtPedCodCliente.Text); pedido.Total_Pedido = Convert.ToDecimal(txtTotalPedido.Text); pedido.Observacoes = txtPedObservacoes.Text; pedido.Status_Pedido = 1; if(txtPedido.Text.Equals("")) pedido.Data_Hora = DateTime.Now; pedido.Data_Entrega = dtpDataEntrega.Value; pedido.Pedidos_Itens.Clear(); foreach (DataRow linha in FTabelaItens.Rows) { Pedidos_Itens pedidoItem = new Pedidos_Itens(); pedidoItem.Produto = Convert.ToDecimal(linha["Produto"]); pedidoItem.Preco_Unitario = Convert.ToDecimal(linha["Preco_Unitario"]); pedidoItem.Quantidade = Convert.ToDecimal(linha["Quantidade"]); pedidoItem.Preco_Total = Convert.ToDecimal(linha["Preco_Total"]); pedido.Pedidos_Itens.Add(pedidoItem); } pedido.Pedidos_Pagamentos.Clear(); foreach (DataRow linha in FTabelaPagamentos.Rows) { Pedidos_Pagamentos pedidoPagamento = new Pedidos_Pagamentos(); pedidoPagamento.Tipo_Pagamento = 1; pedidoPagamento.Valor = Convert.ToDecimal(linha["Valor"]); pedido.Pedidos_Pagamentos.Add(pedidoPagamento); } if (txtPedido.Text.Equals("")) FSapatariaEntidades.Pedidos.Add(pedido); FSapatariaEntidades.SaveChanges(); if (txtPedido.Text.Equals("")) txtPedido.Text = pedido.Pedido.ToString(); if (txtPedDataHora.Text.Equals("")) txtPedDataHora.Text = pedido.Data_Hora.ToString(); MessageBox.Show("Registro Alterado com Sucesso."); } } catch(SqlException erro) { MessageBox.Show(erro.Message); } catch(Exception erro) { MessageBox.Show(erro.Message); } finally { FSapatariaEntidades.Database.Connection.Close(); } }
Lucas Ramos
Curtir tópico
+ 0
Responder
Posts
03/05/2015
Lucas Ramos
Consegui resolver uma das tabelas que tinha referencia de FK não estava preenchida gerando o erro.
Responder
07/08/2017
Anderson Lourenço
Em alguns casos fazer um code first novamente , também resolve, foi o meu caso.
Responder
Clique aqui para fazer login e interagir na Comunidade :)