2010-06-09 64 views
1

我有一個被解決的問題。我的應用程序中的一個頁面顯示了表中任務的狀態。我正在使用實體框架(實體對象)來處理所有使用數據庫的數據。我注意到即使狀態在數據庫中更新,即使在連續刷新後也不會反映在我的網頁上!如果我停止服務器並再次啓動應用程序(當前在VS2008開發服務器上運行),則會顯示更新的數據!避免從實體框架的緩存中獲取數據

我看到緩存的數據嗎?我如何防止這種情況發生?

回答

4

您的ObjectContext生命週期應該是一個請求。如果你有一個靜態的上下文永遠活着,你會看到陳舊的數據......永遠。 Here's an example of how to do it

+0

在我的應用程序中,我使用Spring.Net將EDM對象注入ASP頁面。這是否意味着它的共享和活着?!? – 2010-06-09 19:36:47

+0

我還沒有使用Spring.Net,但大多數DI容器允許您配置返回對象的生命週期。許多人已經建立了「每個請求」的生命週期。那就是你想要的。有時默認值是「singleton」,這可以解釋你所看到的行爲。 – 2010-06-09 19:44:58