Entity framework 4 我应该在实体框架中保存上下文对象吗?

Entity framework 4 我应该在实体框架中保存上下文对象吗?,entity-framework-4,ado.net,Entity Framework 4,Ado.net,我不熟悉实体框架,所以如果这个问题看起来很基本,请原谅我。我想知道,是保存Entity Framework创建的上下文对象以便在应用程序上使用它更好,还是每次要访问/修改数据库时都应该创建一个新的上下文对象 为了以不同的方式表述问题,如果我过于频繁地创建上下文对象,会不会出现性能问题?或者,如果我在应用程序的生命周期内保持上下文对象的活动状态,是否会出现任何数据库问题(例如锁定数据库)?EF和Linq2SQL上下文都是为较短的生命周期设计的。 如果您正在为web页面提供服务,通常最佳做法是为每个

我不熟悉实体框架,所以如果这个问题看起来很基本,请原谅我。我想知道,是保存Entity Framework创建的上下文对象以便在应用程序上使用它更好,还是每次要访问/修改数据库时都应该创建一个新的上下文对象


为了以不同的方式表述问题,如果我过于频繁地创建上下文对象,会不会出现性能问题?或者,如果我在应用程序的生命周期内保持上下文对象的活动状态,是否会出现任何数据库问题(例如锁定数据库)?

EF和Linq2SQL上下文都是为较短的生命周期设计的。 如果您正在为web页面提供服务,通常最佳做法是为每个HTTP请求使用一个上下文

但我认为这也适用于其他ORM。所有这些都使用某种缓存,如果上下文存在太长时间,或者在请求之间共享,那么对象更改跟踪可能会导致奇怪的错误


编辑:如果您正在编写一个厚客户端应用程序,情况可能会有所不同。

EF和Linq2SQL上下文都是为短生命周期设计的。 如果您正在为web页面提供服务,通常最佳做法是为每个HTTP请求使用一个上下文

但我认为这也适用于其他ORM。所有这些都使用某种缓存,如果上下文存在太长时间,或者在请求之间共享,那么对象更改跟踪可能会导致奇怪的错误

编辑:如果您正在编写一个厚客户端应用程序,情况可能会有所不同