不确定我是否误解了EF Code的首次运作方式或设置错误。我创建了一个包含许多ChartResults的图表POCO。简单的一对多。
当我这样做时
Chart myChart = new Chart();
myChart.ChartResults.Add(new ChartResult(){Pos=1});
myChart.ChartResults.Add(new ChartResult(){Pos=2});
context.Charts.Add(myChart);
context.Save();
我添加了一个图表,然后它撕下了所有图表结果并将其添加到数据库中。这是非常聪明的我确定但问题是在chartResults有时我想添加,有时我想简单更新引用。但是如何在没有:
的情况下实现这一目标1) going through each Chart and adding it to a new object that is unlinked
2) then going through each ChartResult and explicitely deciding what to do/not do?
答案 0 :(得分:0)
如果您知道要添加哪个chartresults
以及要更新哪个chart
,那么您可以加载chartresult
并添加所有新的chartresults
个实例。然后,您可以查询现有的chartresults
并单独更新它们。
或者您可以遍历{{1}}并确定是否需要添加或更新实体。
BTW:如果通过EDMX或代码首先映射EF,这是无关紧要的。这只是您与实体交互的方式,而不是如何映射实体。