Array
(
)

Erro ao Gravar Dados no Sql Server com Entity Framework CSharp

Riechelmann
   - 03 mai 2015

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
#Código
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();
}
}

Riechelmann
   - 03 mai 2015

Consegui resolver uma das tabelas que tinha referencia de FK não estava preenchida gerando o erro.