單用戶桌面應用程序是唯一的,因爲您知道內存數據是最新的。因此,除了創建用於間歇性數據庫操作的新上下文的痛苦之外,重新連接對象會爲整個應用程序會話僅使用一個上下文帶來任何風險(除了稍後產生的多用戶需求之外)?單用戶桌面應用程序中的上下文單例可以嗎?
回答
上下文是基於「事務」(即用於提交)。所以我不會讓它成爲一個單身人士。
我喜歡這篇文章:Singleton datacontext它指出:
一個DataContext是輕量級的,不貴創建
和
你可能會節省几几十毫秒。微觀優化這個詞讓人想起 - 在這種情況下,你可能不應該使用實體框架。
使用單一DataContext
越來越大的更改日誌過大,據我所知,並耗盡主存儲器或失去很多的變化在發生碰撞的情況下,取得了用戶的唯一的風險。我不確定交易行爲是否可配置。但是您必須管理線程同步(與多線程應用程序中的任何共享數據一樣),所以也許您最好每個數據操作使用DataContext
- 例如,使用DataContext
。打開Form
編輯應用程序中的用戶應該打開它自己的DataContext
並在保存或關閉時提交。
如果它是可配置的,那麼我想你的第一點不是問題。我會發現的。是的,在多線程的情況下可能會出現線程同步問題。我實際上沒有考慮使用OK和Cancel按鈕的簡單表單UI。 – HappyNomad 2012-01-30 13:05:10
這不是關於實際的'Form'本身,而是關於「行動」 - 用戶會按照一些預定義的工作流程做的事情。 – 2012-01-30 13:17:17
是的,我明白了。但我正在考慮一個應用程序,其中將對象重新連接到上下文變得非常複雜。 – HappyNomad 2012-01-30 13:40:46
- 1. 爲簡單的單用戶桌面應用程序設置oauth
- 2. Windows桌面應用程序可以在Windows Phone上使用嗎?
- 3. 創建一個簡單的多用戶桌面應用程序
- 4. 我可以用ruby創建桌面應用程序嗎?
- 5. Model View Presenter可以用於本機桌面應用程序嗎?
- 6. AdMob可以用於桌面應用程序嗎?
- 7. C#桌面應用程序可以使用UWP組件嗎?
- 8. Web應用程序中的上下文菜單,是嗎?
- 9. 你可以編寫Zune桌面應用程序的插件嗎?
- 10. 如何爲單個用戶製作桌面應用程序?
- 11. 單個數據庫和許多用戶桌面應用程序
- 12. 對用戶沒有可見表單的桌面通知程序
- 13. 多個Android應用程序可以共享單個進程和應用程序上下文嗎?
- 14. 桌面應用程序可以獲取網站URL嗎?
- 15. php5:我們可以開發桌面應用程序嗎
- 16. 單頁應用程序概念可用於創建獨立的桌面應用程序嗎?
- 17. Silverlight可以幫助移植web上的wpf桌面應用程序嗎?
- 18. 帶桌面應用程序的java桌面應用程序
- 19. 我可以使用桌面應用程序中的GAE Cloud Endpoints嗎?
- 20. 您可以在VB.NET桌面應用程序中使用JIRA的SOAP API嗎?
- 21. IB綁定的可可應用程序的簡單上下文菜單
- 22. 從非活動單例類獲取應用程序上下文
- 23. 我可以下載Outlook2016的桌面IM應用嗎?
- 24. 桌面應用程序中的簡單libgdx示例的低幀率
- 25. 桌面應用程序中的SSRS客戶端許可
- 26. django(python)應用程序可以打包在桌面上運行嗎?
- 27. 桌面AIR應用程序可以在Android設備上運行嗎?
- 28. 是否可以在桌面應用程序中使用EJB 3.1?
- 29. 是否可以在桌面應用程序中使用Java WebSocket?
- 30. 在桌面應用程序中使用MVC實現GUI菜單
我猜交易行爲是可配置的。雖然你陳述的其他事實是真實的,但他們不回答我的問題。也就是說,我想通過爲每個應用程序使用一個上下文來避免重新連接對象的複雜性。我要求這可能帶來的風險。 – HappyNomad 2012-01-30 12:33:53
採取了點。在這種情況下,我沒有深入到實體框架中去解答這個問題。 – Aphelion 2012-01-30 12:38:25