【发布时间】:2015-11-15 00:01:14
【问题描述】:
我创建它是为了希望为一些人节省一些浪费的时间,或者在我的情况下是星期六。
问题如下:
我的主要实体在这种情况下被称为 case 并且在通过验证后,我会保存到对象上下文中,就像这样
context.AddToCases(caseModel);
context.SaveChanges();
问题是案件有相关事件。我正在添加一个名为 event 的上下文感知项目,我正在像这样通过上下文查找它
caseModel.Incident = context.Incidents.SingleOrDefault(i => i.IncidentNumber == jumpIncidentNumber);
当代码运行时,我可以看到 model.Incident 有一个 EntityKey 并且状态为已添加,并且正在添加重复项。不仅如此,保存后的结论性引用是对新创建的记录。
我以为我马上就知道答案了,我只需要像这样预先通过 Attach 运行事件模型
context.Attach(incident);
caseModel.Incident = incident;
错了。虽然它的 EntityState 没有改变,但它仍然输入了一个副本。除了这一次,生成的引用是原始事件,不再是副本。
【问题讨论】:
标签: c# asp.net-mvc entity-framework