如何在EF中实现left join(左联接)查询

左联接案例以及注意事项:

红色的为左联接 ;

绿色的为 左联接的表 中的字段,注意,一定要判断!

橙色的 不能要,加上就报错。

 

 var model = (from d in context.community
                             where d.Deleted == false && d.ID == id
                             join m in context.houseOrder on d.ID equals m.CommunityID
                             into subParent
                             from parent in subParent.DefaultIfEmpty()

                                 // where parent.Deleted == false  不能要
                             join n in context.shop on parent.ShopID equals n.ID
                             into subParent1
                             from parent1 in subParent1.DefaultIfEmpty()

                                 //where parent1.Deleted==false 不能要
                             select new CommunityDetailModel
                             {
                                 DivisionCode = d.DivisionCode,
                                 Price = d.Price.Value,
                                 SellCount = 0,
                                 RentCount = 0,
                                 CommunityID = d.ID,
                                 CommunityName = d.Name,
                                 CommunityLocation = d.Location,
                                 BuildYear = d.BuildYear.Value.Year,
                                 LandArea = d.LandArea.Value,
                                 BuildingType = d.BuildingType,
                                 PropertyCompany = d.PropertyCompany,
                                 GreeningRate = d.GreeningRate,
                                 PlotRatio = d.PlotRatio,
                                 Lng = d.Lng,
                                 Lat = d.Lat,
                                 ShopID = string.IsNullOrEmpty(parent1.Name) ? 0 : parent1.ID,
                                 ShopName = string.IsNullOrEmpty(parent1.Name) ? "" : parent1.Name,
                                 Phone = string.IsNullOrEmpty(parent1.Phone) ? "" : parent1.Phone,
                                 ShopLocation = string.IsNullOrEmpty(parent1.Location) ? "" : parent1.Location

                             }).FirstOrDefault();

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值