Hi everybody im trying to add new items to master detail records and i get the error:
The INSERT statement conflicted with the FOREIGN KEY constraint "invOrden_InvOrdenDet_FK1". The conflict occurred in database "InventarioSIAIplus", table "dbo.InvOrden", column 'IDorden'. The statement has been terminated.
This error Happens when i add a new item to the detail.
Thanks for any help. CODE I'M USING FOR ADDING AND UPDATING THE THE DATA: InventarioSIAIplusEntities SIAplusContext = (InventarioSIAIplusEntities)(Session["context"]); InvOrden orden;
if (txtIDorden.Text.Trim() == "")
{
orden = new InvOrden();
orden.IDcentro = Convert.ToInt32(ddlCentros.SelectedValue);
orden.estado = ddlEstadoOrden.SelectedValue;
orden.fecha = DateTime.Now;
orden.comentario = txtComentarioOrden.Text;
orden.usuarioCrea = "Jeanc";
SIAplusContext.AttachTo("InvOrden",orden);
}
else
{
int idorden = Convert.ToInt32(txtIDorden.Text.Trim());
orden = SIAplusContext.InvOrdenes.Where(c => c.IDorden == idorden).First();
//orden.lo.getOrden());
orden.estado = ddlEstadoOrden.SelectedValue;
orden.fecha = DateTime.Now;
orden.comentario = txtComentarioOrden.Text;
orden.usuarioCrea = "Jeanc";
}
foreach (var item in DetalleMedicamentosOrden)
{
if (item.InvOrdenReference.Value == null)
{
item.InvOrden = orden;
}
}
SIAplusContext.SaveChanges();
CODE FOR ADDING ITEMS TEMPORARY TO THE DETAIL
InventarioSIAIplusEntities SIAplusContext = (InventarioSIAIplusEntities)(Session["context"]); List meds = DetalleMedicamentosOrden;
//Datos Detalle
InvOrdenDet ordenDetalle = new InvOrdenDet();
ordenDetalle.cantidadSol = uscAgregarMedicamentos1.Cantidad;
ordenDetalle.cantidadApr = uscAgregarMedicamentos1.CantidadAprobada;
ordenDetalle.comentario=uscAgregarMedicamentos1.Comentario;
ordenDetalle.comentario = uscAgregarMedicamentos1.Comentario;
ordenDetalle.IDmedicamento=uscAgregarMedicamentos1.IDmedicamento;
//Agrego el detalle a la lista de detalles que se va guardando en la memoria.
meds.Add(ordenDetalle);
//Paso la lista con el nuevo objecto actualizada.
DetalleMedicamentosOrden = meds;
//Consulto la lista con para hacer una proyeccion del query y trae el nombre del medicamento
var medInfo = from a in DetalleMedicamentosOrden
select new { a, a.cantidadSol, a.cantidadApr };
//Cargo la data en el gridview.
gvMedicamentosOrden.DataSource = medInfo;
gvMedicamentosOrden.DataBind();
//Mando a mostrar
mpePnMedicamentos.Show();