在EF 5中使用ObjectContext时,它应该是单例还是每次像SqlConnection一样创建新实例更好。如果是这样,为什么?
答案 0 :(得分:3)
尽快创建并处理上下文。引自guidelines on MSDN
:
以下是决定生命周期的一般指导原则 上下文:
使用长时间运行的上下文时,请考虑以下事项:
当您将更多对象及其引用加载到内存中时,内存 消费的背景可能会迅速增加。这可能会导致性能问题。
请记住在没有的情况下处理上下文 需要更长时间
如果异常导致上下文出现在 不可恢复的状态,整个申请可能会终止。机会 与并发相关的问题增加了之间的差距 查询和更新数据的时间会增加。
使用Web应用程序时,请为每个请求使用上下文实例。
使用Windows Presentation Foundation(WPF)或Windows窗体时,请使用 每个表单的上下文实例这使您可以使用更改跟踪 上下文提供的功能。