我正在构建一个统计(多代理)应用程序,我正在使用 EF5 从代理表中检索代理列表。需要一次加载大量数据(每个地区大约 50 000 个代理)才能对它们进行一些移民逻辑。我发现 (Region).Agents 导航属性的加载速度非常慢,但是在 Sql 服务器上执行相同的查询只需 1 秒。并且 foreach 也需要相当长的时间循环。
foreach (OrigineAgent origineAgent in new List<Agent> Origine.Agents.AsParallel()))
{
origineAgent.ScoreCalculator = _container.Resolve<IScoreCalculator>();
origineAgent.AgentExoVariables = AgentVars;
_migrationManager.Migrate(origineAgent);
}
我必须做些什么来提高数据加载和循环性能?