如何使Entity Framework緩存一些對象

.net entity entity-framework

我正在使用實體框架。

在我的數據庫中存儲了人員和他們的國家。當我加載一個人物時,我不知道每個人的起源是什麼。有沒有辦法緩存國家/地區列表,以便不會有不必要的請求。

一般承認的答案

正如Luhmann已經說過我的伙伴Jarek為實體框架提供了一個優秀的示例緩存提供程序。他在這裡談到了什麼。

然而,有時這種做法是過度的,我懷疑緩存國家是一個很好的例子,努力是不值得的。實現某種ad-hoc緩存可能更好。

如果您嘗試這樣做,您將遇到的主要問題是實例實體框架實體一次只能附加到一個ObjectContext,這意味著如果您獲得併發請求(如在網站中),您將遇到問題是你只需從緩存中獲取項目並盲目使用它們。

你需要的是一個克隆緩存,即當你從緩存中獲取某些內容時它會克隆它們。

我整理了一個提示,說明如何執行此操作提示14 - 如何緩存實體框架參考數據

希望這可以幫助

Alex James

實體框架團隊Microsoft。


熱門答案

您可以查看Jaroslaw Kowalski 為Entity Framework提供的出色的跟踪和緩存提供程序包裝器



Related

許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow
許可下: CC-BY-SA with attribution
不隸屬於 Stack Overflow