EF框架下的 并行计算问题

烟波钓 烟波钓 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
大致情况如下:
1.使用微软的EF框架下,一个数据实体类A下面有一个实体类B类别的属性,在Model层,进行进一步的转化,及把实体层的Model转换为逻辑层的Model

2.在这个转化过程中采用了并行计算的东西,现在出现的问题是这个A的B属性,是的的确确有值的,在调试阶段,通过快速监视,手动读一遍 很ok 都能出来值,但是如果不手动读一遍,这个值就出不来,难道调用ToList()只能强制终止第一层的查询么?

相关代码

//query是通过EF一些筛选条件的Linq语句,并且没有过强制停止延迟计算的操作
IList<PatientOperation> list = query.ToList();
IList<PatientOperationInfo> result = GetOperationListByQuery(list);


//GetOperationListByQuery中的核心代码段
ConcurrentBag<PatientOperationInfo> result = new ConcurrentBag<PatientOperationInfo>();
Parallel.ForEach(query, (model) =>
{
result.Add(DataInfoConvert4Paitent.ConvertToPatientOperationInfo(model));
});
//现在的问题是model 下面的一个实体类别的属性没有完全复制完毕
...全文
评论 14
收藏 已收藏
分享
返回顶部
烟波钓
LINQ 8,492 成员 4,736 内容