Windows服务中的Dbcontext生命周期

时间:2018-01-28 08:27:34

标签: .net entity-framework windows-services

我正在使用Windows服务,每10分钟ping一次其他服务,并根据他们的响应进行一些计算。

计算结果datamodel非常简单,我最终需要将每10分钟周期大约1000个对象保存到db。为此,我首先使用实体​​框架代码。

从绩效角度来看,什么是更好的方法:

1)在服务启动时创建Dbcontext并在服务生命周期内保留它以保留数据(删除不必要的,更新现有数据并将新对象插入数据库)

2)在每个周期(10分钟)创建Dbcontext,从db中删除所有现有数据(不需要以前的版本),插入新数据并处理Dbcontext

1 个答案:

答案 0 :(得分:1)

  

2)在每个周期(10分钟)创建Dbcontext,删除所有现有数据   从数据库(不需要以前的版本),插入新数据和   处理Dbcontext

DbContext将维护其所触及的实体的缓存,并且您不希望它持续存在并长时间增长。