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 };