查找在一个上下文中更改的所有实体并将其添加到另一个上下文

时间:2015-11-25 10:52:46

标签: c# multithreading entity-framework

我们有一个主线程产生多个工作线程。每个衍生线程的输入是实体框架上下文(新创建的没有数据的对象)。在每个线程中,我们将尝试从不同的表中获取数据,并尝试更新作为输入参数传递的实体框架上下文对象中的更改。在线程完成之前,此实体框架上下文对象将返回到主线程。

在主线程中,我们将有一个mainEFContext对象,它将累积所有线程的更改并保存每X分钟的更改。有没有办法一次性识别每个线程拥有的所有实体?截至目前,我正在遍历所有表并查找其计数,然后将该对象从线程上下文添加到mainThreadContext。但我觉得应该有更好的方法来做这些事情。

线程上下文还有AutoDetectChangesEnabled = false来保存性能。我认为,如果我将对象从线程上下文中分离并将其附加到MainThreadContext,即使线程上下文中有AutoDetectChangesEnabled = false,也不重要。

0 个答案:

没有答案