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