代码结构: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
from KEBAO in xinde2.DefaultIfEmpty()
join tbClientArea in myModels.S_ClientArea on tbRepairClient.ClientAreaID equals tbClientArea.ClientAreaID into xinde3
join tbEmployee in myModels.S_Employee on tbRepairClient.EmployeeID equals tbEmployee.EmployeeID into xinde4
join tbDepartment in myModels.S_Department on xinde4.Select(m => m.EmployeeID).FirstOrDefault() equals tbDepartment.DepartmentID into xinde5
join tbClientLevel in myModels.S_ClientLevel on tbRepairClient.ClientLevelID equals tbClientLevel.ClientLevelID into xinde6
join tbClientSource in myModels.S_ClientSource on tbRepairClient.ClientSourceID equals tbClientSource.ClientSourceID into xinde7
join tbClientType in myModels.S_ClientType on tbRepairClient.ClientTypeID equals tbClientType.ClientTypeID into xinde8
where tbRepairClient.RepairClientID == CarOwnerID
select new
{
RepairClient = tbRepairClient.RepairClient,//车主
Birthday = tbRepairClient.Birthday.ToString(),//生日
IDNum = tbRepairClient.IDNum,//身份证号码
Phone = tbRepairClient.Phone,//手机号码
PlateNumber = (KECHE.PlateNumber == null) ? "N/A" : KECHE.PlateNumber,//车牌号码
EngineNumber = (KECHE.EngineNumber == null) ? "N/A" : KECHE.EngineNumber,//发动机号码
CarframeNumber = (KECHE.CarframeNumber == null) ? "N/A" : KECHE.CarframeNumber,//车架号码
CarTypeID = (KECHE.CarTypeID == null) ? 0 : KECHE.CarTypeID,//车型ID
GiveRepairMan = tbRepairClient.GiveRepairMan,//送修人
GiveRepairManPhone = tbRepairClient.GiveRepairManPhone,//送修人电话
InsuranceCompanyID = (KEBAO.InsuranceCompanyID == null) ? 0 : KEBAO.InsuranceCompanyID,//保险公司ID
InsuranceTypeID = (KEBAO.InsuranceTypeID == null) ? 0 : KEBAO.InsuranceTypeID,//保险类型ID
InsuranceBeginTime = xinde2.Select(m => m.InsuranceBeginTime).FirstOrDefault(),//保险起始日
InsuranceEndTime = xinde2.Select(n => n.InsuranceEndTime).FirstOrDefault(),//保险终止日
Address = tbRepairClient.Address,//地址
Code = tbRepairClient.Code,//客户编号
DrivingLicenceYearAuditTwo = tbRepairClient.DrivingLicenceYearAudit,//行驶证年审
ClientAreaID = xinde3.Select(b => b.ClientAreaID).FirstOrDefault(),//所属区域ID
DepartmentID = xinde5.Select(m => m.DepartmentID).FirstOrDefault(),//员工所属部门ID
EmployeeID = xinde4.Select(m => m.EmployeeID).FirstOrDefault(),//所属员工ID
ClientLevelID = xinde6.Select(m => m.ClientLevelID).FirstOrDefault(),//客户等级ID
ClientSouceID = xinde7.Select(m => m.ClientSourceID).FirstOrDefault(),//客户来源ID
ClientTypeID = xinde8.Select(m => m.ClientTypeID).FirstOrDefault(),//客户类别ID
DrivingLicenceYearAudit = tbRepairClient.DrivingLicenceYearAudit,//驾驶证年审
EnterMan = tbRepairClient.RecordMan,//录入人
}).ToList();