Linq表达式多个左外联接错误

Linq表达式多个左外联接错误,linq,sql-to-linq-conversion,Linq,Sql To Linq Conversion,我无法执行以下linq var items( from p in Patients join q in MURWorksheets on p.PatientId equals q.PatientId into step1 from s in step1.DefaultIfEmpty() join t in MURWorksheetAnswers on s.MURWorksheetId equals t.MURWorksheetId into step2

我无法执行以下linq

   var items(  from p in Patients 
    join q in MURWorksheets on p.PatientId equals q.PatientId into step1
    from s in step1.DefaultIfEmpty()
    join t in MURWorksheetAnswers on s.MURWorksheetId equals t.MURWorksheetId into step2


    from s2 in step2.DefaultIfEmpty()

    select new {p.FirstName , Date = (s.MURDate == null ? DateTime.Now.Date : s.MURDate),
    s2.MURQuestionnaireId,s2.MURExpctedAnswersId}).ToList();
以下是相同的sql,供您参考

select a.FirstName,b.MURDate,c.MURQuestionnaireId,c.MURWorksheetAnswersID from Patients as a
left join MURWorksheet as b on a.PatientId = b.PatientId
left join MURWorksheetAnswers as c on b.MURWorksheetId = c.MURWorksheetId

粘贴的代码中缺少等号:

var items = (from p in Patients 
    join q in MURWorksheets on p.PatientId equals q.PatientId into step1
    from s in step1.DefaultIfEmpty()
    join t in MURWorksheetAnswers on s.MURWorksheetId equals t.MURWorksheetId into step2


    from s2 in step2.DefaultIfEmpty()

    select new {p.FirstName , Date = (s.MURDate == null ? DateTime.Now.Date : s.MURDate),
    s2.MURQuestionnaireId,s2.MURExpctedAnswersId}).ToList();

是否有错误消息?是,使用LinqPad
;“
中应有无效的表达式项”中是否有两个错误;“应有”和“中应有无效的表达式项”?你能编辑这个问题并将代码包含在你的课堂中吗?我假设你的代码是“var items=…”而不是“var items(…”?谢谢GrandMasterFlush,如果你在答案中发布,你会得到分数的。非常感谢,你的答案是camse 1st