- Linq左连接是左表与右表连接时,无论右边是否有跟左表对应的数据都能查询得出来,只不过查询出来得数据为空而已,什么是左表就取决于,你先写那一张表,哪张表就是左表,然后后写得那张表就是右表,。
代码结构:from 自定义左表名称 in 实体模型里面得数据表格
Join 自定义右表模型 in 实体模型里面得数据表格 on 自定义左表.连接右表的字段 equals 自定义右表.连接的字段 into 自定义表名称
如图所示:
那么这个新的表就包含了,两种表的数据,它们是列表的形式,所以我们要查里面的数据,就可以通过Where语句来查,也可以把它放在一个新建表格里面,这样就可以直接点出里面的值了,完整代码:
var RepairCliemtData = (from tbRepairClient in myModels.S_RepairClient//维修客户表
join tbCar in myModels.S_Car on tbRepairClient.RepairClientID equals tbCar.RepairClientID into xinde1
from KECHE in xinde1.DefaultIfEmpty()
join tbInsuranceDetail in myModels.S_InsuranceDetail on tbRepairClient.RepairClientID equals tbInsuranceDetail.RepairClientID into xinde2