【问题标题】:Should I save the context object in Entity Framework?我应该将上下文对象保存在实体框架中吗?
【发布时间】:2011-12-22 09:30:59
【问题描述】:

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

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

【问题讨论】:

    标签: entity-framework-4 ado.net


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多