MVC + EFをスローガンし、正しいことに集中しようとしています。今はフォームにドロップダウンを追加しようとしていますが、ページが読み込まれるたびにデータベースにアクセスしないようにして、データをアプリレベルで保存したいと考えています。私は、アプリケーションレベルの変数を作成するのが最善の方法ではないと考えています。私はキャッシュと静的ユーティリティー機能の使用について読んだことがありますが、驚くべきことに、何も決定的には聞こえませんでした。 、基本的な検索(悪いMVCのアプリレベルでデータベースに保存された参照データを永続化するためのベストプラクティス
をキャッシュするユニットテストのための悪い静的クラスは、だから、私は好奇心だ2つのシナリオ、私はアプローチが2つの間で異なるかどうかわからない。
1を持っています) 50州を考えてみましょう。小さい、定義された、決して変更されません。アプリケーションの起動時に読み込みます。 (ハードコーディングされたソリューションではなく、データベースからの検索は必要ありません。)
2)検索はほとんど変更されず、管理者のような画面でのみ可能です。あなたの製品が販売されている都市/店舗を考えてみましょう。データは に格納されますが、誰かがアプリケーションで変更を加えない限り、比較的静的になります。だから私はドロップダウンリストボックスを作成する必要があるたびにデータベースをヒットしようとしていません。
は基本的なもののように思えるが、それは基本的には答えませんでした、このトピックのと同じです:
Is it good to use a static EF object context in an MVC application for better perf?
すべてのヘルプは高く評価されています。
技術的には、POCOクラスをデータアクセスレイヤーにキャッシュメカニズム用のインターフェイスとして配置することができます。次に、MVCアプリケーションでキャッシュを実装してインターフェイスを実装し、データアクセスレイヤーに渡すだけです。dataLayer.LoadStates(myCache)ここで、ICacheはプロパティリストまたはメソッドを公開して、 。 –