lambda group by 的用法


foreach (DynamicObject lstKSItem in lstKSItems) { var entity = lstKSItem["FEntity"] as DynamicObjectCollection; if (entity.Count == 0) continue; var groupKeys = entity.Select(p => new { FShirtOrdNO = Convert.ToString(p["FShirtOrdNO"]), FKeyWorkCenterE_Id = Convert.ToString(p["FKeyWorkCenterE_Id"]) }).GroupBy(p => new {p.FShirtOrdNO,p.FKeyWorkCenterE_Id });//根據FShirtOrdNOFKeyWorkCenterE_Id分組 if (groupKeys.Count() > 1) { foreach (var groupKey in groupKeys) { ; var DataEntityCopy = OrmUtils.Clone(lstKSItem, lstKSItem.DynamicObjectType, true, true) as DynamicObject; var DataEntityCopyObjs = DataEntityCopy["FEntity"] as DynamicObjectCollection; DataEntityCopyObjs.Clear(); var groupByShirtOrdNOObjs = entity.Where(o => Convert.ToString(o["FShirtOrdNO"]) == groupKey.Key.FShirtOrdNO && Convert.ToString("FKeyWorkCenterE_Id")==groupKey.Key.FKeyWorkCenterE_Id).ToArray<DynamicObject>();// int i = 0; foreach (DynamicObject groupByShirtOrdNOObj in groupByShirtOrdNOObjs) { groupByShirtOrdNOObj["Seq"] = ++i; DataEntityCopyObjs.Add(groupByShirtOrdNOObj); } decimal SumQty = (DataEntityCopy["FEntity"] as DynamicObjectCollection).Sum(o => Convert.ToDecimal(o["FReportQty"])); DataEntityCopy["FSumQty"] = SumQty; AddGroupItems.Add(DataEntityCopy); } } else { AddGroupItems.Add(lstKSItem); }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM