linq 多表分组左连接查询查询统计


return (from merchantsInfo in base.GetIQueryable(x => x.IsLogicDelete == false && x.FID != fid)
                    join userAccount in UserAccountDal.GetIQueryable(x => x.PrivilegeLevel > 0)
                    on merchantsInfo.UserAccountID equals userAccount.FID
                    join merchantsfrom in MerchantsInfoFormDAL.GetIQueryable(x => !x.IsLogicDelete)
                    on merchantsInfo.FID equals merchantsfrom.MerchantsInfoID into data
                    from merchants in data.DefaultIfEmpty()
                    group new { merchants.MerchantsInfoID } by new
                    {
                        merchantsInfo.FID,
                        merchantsInfo.Name,
                        merchantsInfo.BrandLabel,
                        merchantsInfo.MainPicture,
                        merchantsInfo.MerchantsAmountMax,
                        merchantsInfo.MerchantsAmountMin,
                        merchantsInfo.MerchantsAmountType,
                        merchantsInfo.ProjectName,
                        merchantsInfo.BelongIndustry,
                        merchantsInfo.BelongIndustryChild,
                        merchantsInfo.MerchantsArea,
                        merchantsInfo.MerchantsAreaCity,
                        merchantsInfo.MerchantsAreaCitySubset,
                        merchants.MerchantsInfoID
                    } into g
                    select new MerchantsModel
                    {
                        FID = g.Key.FID,
                        Name = g.Key.Name,
                        BrandLabel = g.Key.BrandLabel,
                        MainPicture = g.Key.MainPicture,
                        MerchantsAmountMax = g.Key.MerchantsAmountMax,
                        MerchantsAmountMin = g.Key.MerchantsAmountMin,
                        MerchantsAmountType = g.Key.MerchantsAmountType,
                        ProjectName = g.Key.ProjectName,
                        BelongIndustry = g.Key.BelongIndustry,
                        BelongIndustryChild = g.Key.BelongIndustryChild,
                        MerchantsArea = g.Key.MerchantsArea,
                        MerchantsAreaCity = g.Key.MerchantsAreaCity,
                        MerchantsAreaCitySubset = g.Key.MerchantsAreaCitySubset,
                        ApplyNum = g.Key.MerchantsInfoID == null ? 0 : g.Count()
                    }).Take(row).ToList();

 

            var userMapMessageIsReadListLinq = from um in sys_UserMapMessageService
                                                                               .GetQueryable(x =>
                                                                               x.CreatorID == userid ||
                                                                               x.ReceiverID == userid)
                                               group um by
                                               new
                                               {
                                                   um.CreatorID,
                                                   um.ReceiverID
                                               } into g
                                               select new UserMapMessageIsReadList
                                               {
                                                   Id = g.Max(x => x.Id),
                                                   NoReadCount = g.Count(x => !x.IsRead)
                                               };

 


免责声明!

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



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