不知道我是否誤解了EF Code的工作原理或設置錯誤。我創建了一個有很多ChartResults的圖表POCO。簡單一對多。我可以先用EF代碼關閉此鏈接行爲嗎?
當我做
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?
您不必將myChart添加到上下文中,也不必立即保存它。這允許您以任何您想要的方式操作POCO,直到準備好寫入數據庫爲止。但是,在上面的示例中,EF正在按照您的要求進行操作。 –
@HughJones圖表實例在某些時候需要添加到上下文中,如果要將這些更改提交到數據庫,則需要調用SaveChanges()。 –
@Jason - 當然,但如果你想操縱POCOs,你可以推遲分貝寫,直到你準備好了。這是我的觀點。 –