我正在尝试从数据库中加载大量记录,并且我想并行运行它们以加快速度。
下面是一些示例代码,当它尝试访问为空的申请人属性时会中断。但是,在非并行循环中,申请人属性要么被填充,要么是一个空列表,但永远不会为空。延迟加载肯定是启用的。
var testList = new List<string>();
Context.Jobs
.AsParallel()
.WithDegreeOfParallelism(5)
.ForAll(
x => testList.Add(x.Applicants.Count().ToString())
);
我可以做这样的事情吗?和实体框架连接有关系吗?我可以让它并行友好并将它的一个实例传递给任务或其他东西吗?我只是想出一些想法,但我真的一点头绪都没有。
编辑:
这个帖子和我的有关系吗?我的问题听起来有点相似。实体框架延迟加载在其他线程中不起作用