eg:
注意:on 前后要保持字段名一致
var bleftQuery = from f in bFamilies
join a in bAudits on new{Id=f.Id,DCYId=f.ModifyID} equals new{Id=a.HealthFamilyId,a.DCYId} into na
from a in na.DefaultIfEmpty()
select new FamilyWithAudit()
{
Id = f.Id,
SearchCode = f.SearchCode,
FamilyName = f.FamilyName,
MemberCount = f.MemberCount,
FamilyCode = f.FamilyCode,
NeighborhoodCommitteeCode = f.NeighborhoodCommitteeCode,
Address = f.Address,
IsAbandoned = f.IsAbandoned,
KpOrganizationLeaderId = f.KpOrganizationLeaderId,
KISH = f.KISH,
IntervieweeCode = f.IntervieweeCode,
IntervieweeMobile = f.IntervieweeMobile,
IntervieweeMobileRelationship = f.IntervieweeMobileRelationship,
IntervieweeCodeSignature = f.IntervieweeCodeSignature,
Province = f.Province,
City = f.City,
County = f.County,
Town = f.Town,
Village = f.Village,
AreaCode = f.AreaCode,
InvestigateState = f.InvestigateState,
JianCeCode = f.JianCeCode,
StreetCode = f.StreetCode,
SampleNum = f.SampleNum,
SampleType = f.SampleType,
NeedRecord = f.NeedRecord,
NeedPhotot = f.NeedPhotot,
AuditFailedNeedHandle = f.AuditFailedNeedHandle,
AnswerCostTime = f.AnswerCostTime,
SetRange = f.SetRange,
Remark = f.Remark,
CreateID = f.CreateID,
CreateTime = f.CreateTime,
ModifyID = f.ModifyID,
ModifyTime = f.ModifyTime,
DeletedTime = f.DeletedTime,
KpExamVersionId = f.KpExamVersionId,
IsHandle = f.IsHandle,
IsNoOne = f.IsNoOne,
AuditResult = a != null ? a.AuditResult : AuditResult.未调查_添加或者导入
};
var bListAll = bleftQuery.ToList();
//一般的联表查询
var bListResult = bList.Join(_context.FamilyAudioSub.Select(r => new {AudioId = r.AudioId}), f => f.Id, r => r.AudioId,
(f, r) => new FamilyAudio()
{
Id = f.Id,
CreateID = f.CreateID,
CreateTime = f.CreateTime,
Duration = f.Duration,
FamilyId = f.FamilyId,
Type = f.Type,
Size = f.Size
}).ToList();