实体框架5中的ObjectContexts应该是单例吗?

时间:2013-07-07 15:16:41

标签: c# entity-framework-5

在EF 5中使用ObjectContext时,它应该是单例还是每次像SqlConnection一样创建新实例更好。如果是这样,为什么?

1 个答案:

答案 0 :(得分:3)

尽快创建并处理上下文。引自guidelines on MSDN

  

以下是决定生命周期的一般指导原则   上下文:

     
      
  • 使用长时间运行的上下文时,请考虑以下事项:

  •   
  • 当您将更多对象及其引用加载到内存中时,内存   消费的背景可能会迅速增加。这可能会导致性能问题。

  •   
  • 请记住在没有的情况下处理上下文   需要更长时间

  •   
  • 如果异常导致上下文出现在   不可恢复的状态,整个申请可能会终止。机会   与并发相关的问题增加了之间的差距   查询和更新数据的时间会增加。

  •   
  • 使用Web应用程序时,请为每个请求使用上下文实例。

  •   
  • 使用Windows Presentation Foundation(WPF)或Windows窗体时,请使用   每个表单的上下文实例这使您可以使用更改跟踪   上下文提供的功能。

  •