我们有一个主线程产生多个工作线程。每个衍生线程的输入是实体框架上下文(新创建的没有数据的对象)。在每个线程中,我们将尝试从不同的表中获取数据,并尝试更新作为输入参数传递的实体框架上下文对象中的更改。在线程完成之前,此实体框架上下文对象将返回到主线程。
在主线程中,我们将有一个mainEFContext
对象,它将累积所有线程的更改并保存每X分钟的更改。有没有办法一次性识别每个线程拥有的所有实体?截至目前,我正在遍历所有表并查找其计数,然后将该对象从线程上下文添加到mainThreadContext
。但我觉得应该有更好的方法来做这些事情。
线程上下文还有AutoDetectChangesEnabled = false
来保存性能。我认为,如果我将对象从线程上下文中分离并将其附加到MainThreadContext
,即使线程上下文中有AutoDetectChangesEnabled = false
,也不重要。