通過MVC + EF闖入並試圖專注於以正確的方式做事。現在我正在尋找添加下拉到表單,但我想避免每次頁面加載時擊中數據庫,所以我想將數據存儲在應用程序級別。我想創建一個應用程序級變量不是最好的方法。我已經閱讀過有關使用緩存和靜態實用程序的功能,但令人驚訝的是,沒有任何聲音非常明確。 (靜態類不好的單元測試,緩存壞在MVC中保持數據庫存儲的查找數據在應用程序級別的最佳實踐
所以,我有兩個場景,我很好奇,我不知道,如果方法將兩種。
1之間的差異)的基本查詢,讓我們說五十個州。小,定義,永遠不會改變。在應用程序啓動時加載(不尋找一個硬編碼的解決方案,但從數據庫中檢索)
2)一個查詢,將很少改變,只有通過類似管理員的屏幕。比方說,您的產品正在出售的城市/商店。因此數據將被存儲在模型中 ,但是除非有人通過應用程序進行更改,否則數據將相對靜態。因此,每次我需要填充下拉列表框時,都不打算訪問數據庫。
好像基本的東西,但它基本上是相同的,因爲這話題,從未回答:
Is it good to use a static EF object context in an MVC application for better perf?
任何幫助表示讚賞。
從技術上講,您可以將您的POCO類作爲您的數據訪問層中緩存機制的接口。然後,你可以在你的MVC應用中實現緩存並實現接口並將它傳遞到數據訪問層,如下所示:dataLayer.LoadStates(myCache)其中ICache將公開一個屬性或方法,讓你填充狀態列表。 – 2012-02-23 02:23:06