Linq AsParallel() 執行業務邏輯時,只有第一條資料是完整。
來個大神幫忙解決下,謝謝!
reportReport = orderList.AsParallel().Select(item =>
{
//這部分直接提取都正常
var model = new FaultReportReportModel()
{
OrderNo = item.OrderNo
};
//這部分提取子集就只有第一條資料正常,其他資料都都為空。
var raultReasons = "";
foreach (var fr in item.RepairRecords)
{
foreach (var r in fr.FaultReasons)
{
raultReasons += r.Name + ",";
}
}
if (!string.IsNullOrWhiteSpace(raultReasons))
model.FaultReasons = raultReasons.Substring(0, raultReasons.Length - 1);
return model;
}).ToList();
uj5u.com熱心網友回復:
天啊,既然沉了,csdn現在沒人玩了?uj5u.com熱心網友回復:
不太清楚 如果只是list<t> 使用這種辦法應該不會有問題吧如果你去掉AsParallel之后 結果一致嗎?
還有 既然你都會linq了..
那么你的代碼不就是
orderList.select(d=>new xxxx(){orderno=d.orderno,respons=string.join(",",d=>d.recds.select(x=>x.name))}).tolist();
干嘛還回圈...
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/39856.html
標籤:LINQ
