0

EFコードが最初にどのように機能するかを誤解しているのか、それとも設定が間違っているのかはわかりません。多くの ChartResults を持つ Charts の POCO を作成しました。シンプルな 1 対多。

私がする時

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?
4

1 に答える 1

0

chartresults追加するものと更新するものがわかっていればchart、すべての新しいchartresultインスタンスをロードして追加できます。その後、既存のものを照会しchartresultsて個別に更新できます。

または、 をループしてchartresults、エンティティを追加または更新する必要があるかどうかを判断できます。

ところで: EF が EDMX またはコードを介して最初にマップされた場合、これは無関係です。これは単にエンティティを操作する方法であり、エンティティをマッピングする方法ではありません。

于 2012-11-14T13:43:48.260 に答える