我有一批“机器人”围绕读取 RSS 线程运行并将结果存储在数据库中,并且我将其并行化以便可以一次获取许多提要:
Parallel.ForEach(context.Feeds, feed => ProcessRssFeed(feed, context));
context.SubmitChanges();
'ProcessRssFeed' 函数可以在找到记录时将它们插入到上下文中,并且每个提要可以是从零到数百个项目的任何地方。有很多提要,所以我不想为每个提要创建一个 LINQ DataContext。
不过,我担心我可能会在客户端上积累成千上万条记录。我想我可能会耗尽内存。
因为如果可能的话,这里没有并发问题,我想告诉 DataContext “如果你愿意,请继续并定期提交记录”。有没有一些实用的方法来实现这一点?