我們有一個表格「問題」,其中包含外部聯繫人的「聯繫人」表格。理想情況下,當添加新問題時,用戶應該從下拉列表中選擇聯繫人但在某些情況下,聯繫人可能不存在,因此用戶可以添加最少的新聯繫人詳細信息以將問題存入數據庫(這是一個支持桌面應用程序,速度對於操作員來說是至關重要的)。聯繫人數據將在稍後清理實體框架(4.0) - 使用外鍵添加新記錄
因此,在代碼中,我們使用實體框架檢測到新聯繫人並在數據庫中創建一個新聯繫人:_context.AddToContacts(_contact);
。然後,我們需要檢索新的ID以更新問題 - 所以從聯繫人表中讀取最後添加的記錄。 這工作正常。
然後我們使用ContactsReference.EntityKey
構建問題記錄,包括新的外鍵。 當我們保存問題SaveChanges
時,我們得到的問題記錄沒問題(使用正確的外鍵返回聯繫人),但我們得到另一個聯繫人記錄添加到數據庫。
我們在這裏做了太多的工作嗎?或者Entity Framework能夠同時處理兩個表之間正確的數據鏈接和管理?
謝謝 - 我們以爲我們錯了。 – user964810