linq join 左连接 leftjoin 多个on条件 where 条件

var haveChange = from newScore in newScoreList
                                         join oldScore in oldScoreList
                                             on
                                             new{newScore.ExamId,newScore.StudentId,newScore.Subject,newScore.ClassId} equals
                                             new{oldScore.ExamId,oldScore.StudentId,oldScore.Subject,oldScore.ClassId}
                                         where newScore.Score != oldScore.Score
                                         select newScore;

 

参考

var query= from cc in COPTC
           join cd in COPTD
           on new {cc.TC001,cc.TC002} equals new{ cd.TD001,cd.TD002} 
           into m
           from n in m.DefaultIfEmpty()
           join ma in MOCTA
           on new{cd.TD001, cd.TD002,cd.TD003 } equals new{ ma.TA026,ma.TA027,ma.TA028}
            
           where new char[]{'Y','y'}.Contains(ma.TA013) 
              && new char[]{'Y','y'}.Contains(cc.TC027)
              && Convert.ToDateTime(ma.TA003) > Convert.ToDateTime("2010-07-20")
              && Convert.ToDateTime(ma.TA003) < Convert.ToDateTime("2010-12-31")
           select new 
           {
              cc,
              cd
           };
原文地址:https://www.cnblogs.com/joeylee/p/3711654.html