2

我正在开发我的第一个将使用实体框架的应用程序。我有一个简单的 WPF 应用程序,它是基于页面的。我在页面的类级别定义了一个 EF 上下文,并在页面的加载事件中实例化它。然后基本上我只是把它留在那里,在用户做出各种选择时使用它,等等。但是,多年的编程经验让我认为我不应该只是让这个上下文保持开放。每次我需要用它做某事时,我应该更新它,还是没关系?

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

4

1 回答 1

5

EF 上下文被设计为短命的。他们不做很多家务,并且倾向于分配内存而不考虑在短期内释放它。此外,更改跟踪会随着时间的推移继续进行并且是累积的,因此上下文存在的时间越长,它为更改跟踪分配的内存就越多。

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

于 2012-05-06T01:18:53.333 回答