2012-05-06 15 views
2

私はエンティティフレームワークを使用する最初のアプリケーションに取り組んでいます。私はページベースの単純なWPFアプリケーションを持っています。私はページのクラスレベルで定義されたEFコンテキストを持っており、ページのロードイベントでそれをインスタンス化します。それで、基本的には、ユーザーがさまざまな選択をするなどして、そこに置いておくだけです。しかし、プログラミングの長年の経験は、私がこの文脈を開いたままにするべきではないと私に思います。私は何かのためにそれを使う必要があるたびにそれを新しいものにするべきですか、それとも重要ではありませんか?EFコンテキストをより頻繁に廃棄する必要がありますか?

私はVS 2010、.NET 4.0で作業しています。

答えて

5

EFコンテキストは、短命になるように設計されています。彼らは家事を頻繁にはしませんし、短期間に自由にすることを心配せずに記憶を割り当てる傾向があります。さらに、変更の追跡は時間の経過と共に累積されます。したがって、コンテキストの存在が長くなればなるほど、変更トラッキングのために多くのメモリが割り当てられます。

要するに、必要最小限のスコープを使用して、意味のある最短時間の前後にコンテキストを保持します。