我可以先使用EF Code关闭此链接行为吗?

时间:2012-11-14 13:34:49

标签: c# entity-framework

不确定我是否误解了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?

1 个答案:

答案 0 :(得分:0)

如果您知道要添加哪个chartresults以及要更新哪个chart,那么您可以加载chartresult并添加所有新的chartresults个实例。然后,您可以查询现有的chartresults并单独更新它们。

或者您可以遍历{{1}}并确定是否需要添加或更新实体。

BTW:如果通过EDMX或代码首先映射EF,这是无关紧要的。这只是您与实体交互的方式,而不是如何映射实体。