lumbda left join 并统计数量

                var newlt = lt.GroupJoin(LtDes, a => a.UniqueCode, b => b.UniqueCode, (a, b) => new { a, b }).SelectMany(ab => ab.b.DefaultIfEmpty(), (x, y) => new{
                                a = x.a,
                                b = y
                            }).Select(s => new{
                                billNo = s.a.billNo,
                                UniqueCode = s.a.UniqueCode,
                                DesUniqueCode = s.b == null ? "" : s.b.UniqueCode
                            }).GroupBy(a => a.billNo).Select(group => new{
                                Group = group,
                                Count = group.Count(),
                                DesCount = group.Sum(x =>{
                                    if (x.DesUniqueCode == ""){
                                        return 0;
                                    }
                                    else{
                                        return 1;
                                    }
                                })
                            }).Map(a => {
                                return new
                                {
                                    billNo=a.Group.ToList()[0].billNo,
                                    Count=a.Count,
                                    DesCount=a.DesCount
                                };
                            }).ToList();



猜你喜欢

转载自blog.csdn.net/hutao1101175783/article/details/78875488
今日推荐