我正在使用實體框架創建一個Asp.net MVC站點,並且想知道如何在多個請求的內存中保留新的和更新的實體而不需要提交到數據庫。
假設,例如用戶轉到視圖以編輯實體,並且在該視圖上,他們可以將子女添加到該實體。我想在用戶點擊頁面上的「保存」按鈕之前不對數據庫提交更改。
我已經拿起了我不堅持的ObjectContext,我明白。本質上,我想要一個實體,將它保持在會話狀態或其他相同的地方,在那裏進行更改,然後在用戶完成頁面時將這些更改提交到數據庫。
有關如何做到這一點的任何想法?實體框架實體的延遲提交
0
A
回答
1
ViewData集合是一個用於跨請求持久對象的臨時「便箋簿」。它以與Session對象相同的方式工作,但是在生命週期中是短期的。
在默認的MVC項目中,您可以在Home控制器中看到這個示例,它使用ViewData [「Message」]在Index視圖上顯示消息。
0
我遇到了這個問題尋找類似的問題。爲了防止其他人處於相同的情況,Josh E接受的答案是錯誤的--ViewData不是跨多個請求持久化的,它只是將數據傳遞給View,這發生在同一個請求中。 TempData IS在請求中持續存在,但存儲在其中的值在讀取一次後會被清除。
我對Entity Framework不太瞭解,知道它是否受支持,但可以在Session中存儲任何(serializable?)對象。但是,這些對象的生存期取決於會話生存期,除非您手動刪除它們。此外,這可能會佔用大量的內存。我相信最可取的方法是使用持久性框架,可以爲您管理這個。我不知道實體框架是否可以做到這一點。對於那些堅持使用ADO的人,我還沒有找到一個好的解決方案。
相關問題
- 1. 實體框架延遲加載
- 2. 實體框架,SQLite和延遲加載
- 3. 延遲加載框架實體問題
- 4. 實體框架延遲加載和ICollection
- 5. 實體框架延遲加載問題
- 6. 實體框架CodeFirst延遲經驗
- 7. 實體框架 - 延遲加載,加載子實體問題
- 8. 實體框架 - 停止延遲加載相關實體按需?
- 9. 實體框架4延遲加載實體集
- 10. 實體框架5的延遲加載和提琴手
- 11. 延遲加載,延期加載和實體加載實體框架
- 12. 實體框架5:提交不刷新內存中的實體
- 13. 實體框架 - 部分提交
- 14. 延遲加載的POCO實體,實體框架和WCF如何一起工作?
- 15. 實體框架延遲加載失敗,只是添加實體的屬性
- 16. 如何在實體框架中使用延遲加載來序列化實體?
- 17. 延遲加載相關實體不與實體框架一起使用4.1
- 18. 延遲加載相關實體不與實體框架5.0工作
- 19. 實體框架:實體
- 20. 實體框架實體
- 21. 實體框架實體json
- 22. 對實體延遲加載
- 23. 實體框架6:相關的實體自動添加到父實體,儘管延遲加載被關閉
- 24. ServiceStack交換實現ORMLite實體框架
- 25. 實體框架 - 瓦特/庫中存儲的延遲執行
- 26. 實體框架中的延遲加載項目
- 27. 實體框架延遲加載的集合有時空
- 28. 禁用延遲加載的實體框架導航屬性
- 29. 實體框架和延遲加載的問題
- 30. 在實體框架中延遲加載的問題
嗯,這有點多了點,似乎我有MVC的另一個概念問題,以解決問題。 – 2009-06-04 21:32:11