2009-07-08 87 views
2

我正在開發一個WPF應用程序,該應用程序通過實體框架與數據庫進行對話,並且遇到大量問題試圖保持應用程序響應。 DataContext不是線程安全的,所以你不能從後臺線程進行數據訪問。由於對象跟蹤,你不能在DataContexts之間傳遞對象(我已經嘗試了3個星期......它總是排序作品,但從來沒有在所有情況下)。使用實體框架進行異步編程

我想要做的就是在數據訪問正在進行時讓我的應用程序響應。您使用Entity Framework實現此目標的模式是什麼?

謝謝
羅伊

+0

[我是否應該使用Entity Framework 4.0?](http://izlooite.blogspot.com/2011/04/should-i-ever-use-entity-framework-40.html) – 2011-04-23 15:30:07

回答

0

的EF還沒有實現懶加載(或至少沒有很好),所以這可能是你的性能問題的一部分。因此,分層查詢(查詢之上的查詢)將受到影響。

這聽起來像你正在試圖用它做一些相當複雜的事情。嘗試更多地考慮交易,即選擇,更新,提交;新建,插入,提交;並選擇,刪除,提交。

在任何給定的存儲庫或線程中,始終只使用一個DataContext。正如你所發現的那樣,在數據上下文中傳遞對象是困難的。但在相同的數據環境中應該是一件輕而易舉的事情。