我是否应该显式释放从单个表中读取的 dbContext,而该表没有任何内容会写入



我创建了一个通过EF dbContext从单个表读取的服务。

  • dbContext基于给定的连接字符串在此服务中创建
  • dbContext是私人
  • 服务以独占方式读取此表,从不写入此表
  • 没有其他上下文使用此表,尽管它们使用同一数据库中的其他表
  • 此表不包含任何外键

问:牢记上述所有内容,我是否应该使用 using 语句来处置此服务中的上下文?如果是,为什么?

我不想这样做,

因为它使测试变得非常复杂,但如果必须这样做,那么我一定会这样做。

始终尽可能

晚地初始化上下文并尽快释放它。如果不这样做,上下文将继续增长,并可能开始表现得像内存泄漏,最终给您带来内存问题。

为此,请使用using语句;或者,如果使用 DI 框架,请使用在每个 Web 请求或类似内容之后结束的生存期。

另请参阅:使用实体框架时的内存泄漏

"它使测试更加复杂"绝对没有理由不遵循最佳实践。也不知道你的意思。

相关内容

最新更新