大家好,我开始使用Entity Framework4.0和ASP.NET 4.0,我正在尝试制作一个主细节网页,当我尝试将新项目添加到以前记录的项目时,我遇到了问题。下面是我为此制作的项目:
private void guardarOrdenMedicamento()
{
InventarioSIAIplusEntities SIAplusContext = (InventarioSIAIplusEntities)(Session["context"]);
InvOrden orden;
string resultMessage;
if (DetalleMedicamentosOrden.Count == 0)
{
MessageBox1.ShowError("Debe especificar al menos un medicamento para la orden.");
return;
}
if (txtIDorden.Text.Trim() == "")
{
orden = new InvOrden();
orden.IDcentro = Convert.ToInt32(ddlCentros.SelectedValue);
orden.estado = ddlEstadoOrden.SelectedValue;
orden.fecha = Convert.ToDateTime(txtFechaCreacion.Text);
orden.comentario = txtComentarioOrden.Text;
orden.usuarioCrea = "Jeanc";
SIAplusContext.AddToInvOrdenes(orden);
resultMessage = "La orden fue registrada satisfactoriamente";
}
else
{
int idorden = Convert.ToInt32(txtIDorden.Text.Trim());
orden = SIAplusContext.InvOrdenes.Where(c => c.IDorden == idorden).First();
orden.estado = ddlEstadoOrden.SelectedValue;
orden.fecha = Convert.ToDateTime(txtFechaCreacion.Text);
orden.comentario = txtComentarioOrden.Text;
orden.usuarioCrea = "Jeanc";
resultMessage = "La orden fue actualizada satisfactoriamente";
foreach (var item in DetalleMedicamentosOrden)
{
if (item.IDorden == 0)
{
// item.IDorden = idorden;
// item.InvOrdenReference.EntityKey = orden.EntityKey;
//neww System.Data.EntityKey("InventarioSIAIplusEntities.InvOrdenes", "IDorden", orden.IDorden);
// SIAplusContext.AddToInvOrdenDets(item);
item.InvOrden = orden;
//
// SIAplusContext.AddToInvOrdenDets(item);
//orden.InvOrdenDets.Add(item);
}
else
{
InvOrdenDet det = SIAplusContext.InvOrdenDets.Where(c => c.IDorden == item.IDorden && c.IDmedicamento == item.IDmedicamento).First();
det.cantidadApr = item.cantidadApr;
det.cantidadSol = item.cantidadSol;
det.comentario = item.comentario;
}
}
}
SIAplusContext.SaveChanges();
}错误是:无法添加或附加对象,因为其EntityReference的EntityKey属性值与此对象的EntityKey不匹配。谢谢你在这方面的帮助。
发布于 2010-10-04 23:41:30
我认为问题出在这里:
item.InvOrden = orden;您必须使用AddObject或更新现有对象的值。
https://stackoverflow.com/questions/3851610
复制相似问题