【Linq to Object】使用LINQ实现左链接加GROUP BY查询


直接上代码留记

var list = (from item in
                (from tb1 in fileDirList
                    join tb2 in fileInfoList
                    on tb1.FileDirId equals tb2.FileDirId into tmp
                    from f in tmp.DefaultIfEmpty()
                    select new
                    {
                        FileCount = tmp.Where(w => w.FileDirId == f.FileDirId).Count(),
                        FileDirName = tb1.FileDirName,
                        NeedFiles = tb1.NeedFiles
                    })
            group item by item.FileDirName into query
            select new CheckFileCountDto
            {
                FileDirName = query.Max(m => m.FileDirName),
                FileCount = query.Max(m => m.FileCount),
                NeedFiles = query.Max(m => m.NeedFiles)
            }).ToList();

结果:

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM