29

EntityFrameworkを使用しています。

私のデータベースには、保存されている人とその出身国があります。人物オブジェクトを読み込んでいるとき、各人物がどこから来たのかわかりません。不要なリクエストが発生しないように、国のリストをキャッシュする方法はありますか。

4

3 に答える 3

39

Luhmannがすでに言ったように、私の仲間であるJarekには、EntityFramework用の優れたサンプルキャッシングプロバイダーがあります。彼がここで話していること。

ただし、このアプローチはやり過ぎである場合があり、国をキャッシュすることは、努力する価値がない良い例だと思います。ある種のアドホックキャッシングを実装する方が良いかもしれません。

これを行おうとすると、発生する主な問題は、インスタンスEntity Frameworkエンティティを一度に1つのObjectContextにしかアタッチできないことです。つまり、(Webサイトのように)同時リクエストを受け取ると、問題が発生します。キャッシュからアイテムを取得し、盲目的に使用するだけです。

必要なのはクローンキャッシュです。つまり、キャッシュから何かを取得すると、それらがクローンされます。

このヒント14を実行する方法を説明するヒントをまとめました-EntityFramework参照データをキャッシュする方法

お役に立てれば

アレックスジェームス

エンティティフレームワークチームMicrosoft。

于 2009-07-18T18:34:36.827 に答える
8

JaroslawKowalskiのEntityFramework用の優れたトレースおよびキャッシングプロバイダーラッパーをご覧ください。

于 2009-07-18T18:15:29.983 に答える
0

最初にその国のリストをキャッシュし、取得した各人物に適切な国を割り当てます。人物もキャッシュする場合は、キャッシュされた国に依存させ、国/国のリストを更新するときに無効にする必要があります。

于 2009-07-18T16:47:01.723 に答える