我已經在數據庫中插入了一些父記錄。現在我想添加一些兒童記錄。要做到這一點我也跟着下面的步驟:當父記錄已經存在時,使用實體框架代碼先插入子記錄表中的記錄
- 檢索父(A)記錄
- 創建一個新的子(B)記錄
- 父記錄添加到兒童的導航性能。 B.A = A
- 調用SaveChanges。
問題是,當我這樣做EF插入一個新的父,然後添加一個外鍵指向新的新插入的父,而不是隻插入子映射到已經存在的父的孩子。我還在保存孩子時檢查了父母的主鍵,並確實存在於數據庫中。
請注意,我正在使用數據庫生成的父母和孩子的身份。 我注意到的一件事是,如果我從同一個上下文對象中添加/保存父項和子項,那麼它工作正常。
需要儘快解決這個問題。任何幫助將不勝感激。
第二種方法爲我工作。非常感謝。 – Amit
遇到同樣的問題。你可以請看看:http://stackoverflow.com/questions/16131090/the-relationship-could-not-be-changed-the-foreign-key-properties-is-non-nulla/16131494?noredirect= 1個#comment23046042_16131494?我在smae上下文中獲得'MamConfiguration_V1'我保存這些更改。它附在同一個上下文中。流程:通過使用Id獲取MamConfiguration_V1(編輯模式) - >從UI中爲其分配所有值 - >覆蓋\ add \刪除引用成員(導航)MamConfigurationToBrowser_V1。有沒有添加信息? –
+1每天我都會學到新東西,這是迄今爲止我所見過的這個問題的最好解釋。謝謝! –