我应该更频繁地处理EF上下文吗?

时间:2012-05-06 01:08:40

标签: .net wpf entity-framework-4

我正在开发第一个使用实体框架的应用程序。我有一个简单的WPF应用程序,它是基于页面的。我在页面的类级别定义了EF上下文,并在页面的load事件中实例化它。然后基本上我只是把它留在那里,使用它作为用户做出各种选择,等等。但是,多年的编程经验使我认为我不应该只是打开这个上下文。每次我需要将它用于某些东西时,我是否应该重新开始,或者这不重要?

我正在使用VS 2010,.NET 4.0。

1 个答案:

答案 0 :(得分:5)

EF上下文的设计是短暂的。他们不做大量的内务管理,并且倾向于分配记忆而不用担心在短期内释放它。此外,更改跟踪会持续一段时间并且是累积的,因此上下文存在的时间越长,它分配的更改跟踪的内存就越多。

经验法则,使用必要的最小范围,并将上下文保持在有意义的最短时间内。