插入大量相互關聯的嵌套對象時,是否最好先創建並堅持內部實體,以尊重外鍵關係ihps並在層次結構中向上移動,或者是否最好用它們的內部對象創建所有的對象,只保留外部對象?到目前爲止,我已經體驗到,在實施後者時,實體框架似乎明智地計算出關於關係的首先插入內容。但是有人應該知道的警告嗎?第一種方法在我看來是經典的SQL邏輯,而後者似乎更符合實體框架的思想。在實體框架中實現插入語句的方法
0
A
回答
0
這完全是關於管理數據損壞的風險並確保數據庫有價值。
當您首先持續記錄內部記錄時,如果外部保存失敗,則可能會導致數據錯誤。根據您的應用需求,孤立的內部記錄可能會出現從主要問題到次要問題的任何地方。
將所有內容保存在一起時,如果單個記錄失敗,則整個保存失敗。
當然,如果內部記錄沒有外部記錄是有意義的(再次,由您的業務需求決定),那麼您可能會阻止應用程序進展。
總之:如果內部記錄依賴外部,一起保存。如果內在是有意義的,就要根據性能/可讀性做出決定。
實例:
甲House
已經沒有意義Homeowner
。單獨創建House
是可以接受的。
A HSA
(房主協會)沒有意義,沒有Homeowner
s。這些應該一起創建。
顯然,使用現有數據時,這些示例很有意思,並且變得微不足道。爲了這個問題的目的,我們假設兩者都是在同一時間創建的。
相關問題
- 1. 實體框架插入子實體
- 2. 實體框架LINQ插入
- 3. C# - 實體框架插入
- 4. 實體框架:表插入
- 5. 實體框架沒有創建插入語句
- 6. 實體框架插入錯誤的實體插入的SaveChanges
- 7. 實體框架,odata語法
- 8. 在Web API中實現實體框架
- 9. 實體框架 - 實現IDbSet
- 10. 實體框架:加入方法
- 11. 實體框架 - 從SQL語句
- 12. FindBy方法實體框架
- 13. 在實體框架中創建方法
- 14. 如何獲取實體框架中插入實體的ID?
- 15. 無法在實體框架中插入帶有外鍵的實體
- 16. 實體框架插入沒有「addto」方法的記錄
- 17. 通用的方法在實體框架
- 18. 實體框架 - Where子句
- 19. 在Xcode的實現文件中生成框架方法體
- 20. 實體框架中實現RemoveRange
- 21. 實體框架代碼第一次插入方法掛鉤
- 22. 更新實體框架中的實體的最佳方法
- 23. 如何阻止實體框架插入關聯的實體?
- 24. 實體框架,工作單元和生成的插入語句的順序
- 25. 如何將實體框架插入ntext?
- 26. 用SQL Compact 3.5插入實體框架
- 27. 實體框架4.0插入/更新
- 28. 實體框架 - 按ID插入
- 29. 實體框架:插入時出錯
- 30. 實體框架插入更新問題!