Linq左连接

左连接简介

解释见如下注释

select *
from a表
left join b表
on a.aid = b.bid
-- 如上是左连接最简单的写法,a表左连接b表,此时即使aid与bid没有匹配上,a表的所有数据依然可以被查出来

Linq中的左连接,如下,主要看划重点的两行

//获取基站在redis的实时数据
                var stationRealTimeList = RedisHelper.GetRedisStationRealTimeData();
                //获取基站在数据库的所有数据
                var stationList = new DbContext<WirelessStationInfo>().GetList(t => t.DeleteDate == null);
                //关联查询基站实时信息
                var stationRealTimeInfos = (from stationItem in stationList
                                           join stationRealTimeItem in stationRealTimeList
                                           on stationItem.StationID equals stationRealTimeItem.StationID
                                           into stationRealTimeInfo   //划重点划重点
                                           from str in stationRealTimeInfo.DefaultIfEmpty()  //划重点划重点
                                            select new
                                           {
                                               stationID = stationItem.StationID,    //分站ID
                                               stationName = stationItem.StationName,   //分站名称
                                               stationIP = stationItem.WxIP,     //分站IP
                                               stationState = str == null ? 1 : str.StationState,  //分站状态  
                                               //划重点 获取被左连接的表的数据时要进行判断
                                           }).ToList();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值