gpt4 book ai didi

c#并行循环错误

转载 作者:太空狗 更新时间:2023-10-30 01:10:37 25 4
gpt4 key购买 nike

有人可以帮忙吗?当我编写此代码并运行时。程序向我显示错误,指出“已经有一个与此命令关联的打开的 DataReader,必须先将其关闭”。

这是我的代码。

Parallel.For(0, MthRange, i => {
PSUpfrontFeeForMonth[i] = CommissionSummary
.Where(s => s.TransDate == oReportCommonFilter.fromDate.AddMonths(i))
.Sum(s => s.PSUpfrontFee);

if (!PSUpfrontFeeForMonth[i].HasValue)
{
PSUpfrontFeeForMonth[i] = 0;
}
});

谢谢。

问候,简

最佳答案

并行化数据库查询是完全错误的,原因如下:

  1. 针对来自的 sql 发出查询每个处理器都有多个数据读者将被打开 -> '错误'
  2. 实际上,没有实现任何性能提升程序变慢是因为每个处理器都试图连接到数据库并没有并行处理实际上已经完成,因为所有查询处理是在sql中完成的!所以正常的串行查询速度更快这种情况。

关于c#并行循环错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4283186/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com