建立兩個類別,存放資料如下
//類SQL表示法var x=from o in SLISTfrom p in ScoreList where o.ID == p.StudentID orderby o.Classroom,o.ID,p.Class,p.score descendingselect new {o.ID,o.Classroom,o.Name,p.Class,p.score};//所需的欄位 列舉
與T-SQL語法的差異性不大,where 的==需注意一下,也可使用
//類SQL表示法 2var x2 = from o in SLISTjoin p in ScoreListon o.ID equals p.StudentIDorderby o.Classroom, o.ID, p.Class, p.score descendingselect new { o.ID, o.Classroom, o.Name, p.Class, p.score };//lamda表示法var y = SLIST.Join(ScoreList, //join的 資料表o => o.ID, //主表 join的值p => p.StudentID, //次表 join的值(c, s) =>//主表次表的集合new { c.ID, c.Classroom, c.Name, s.Class, s.score })//所需的欄位 列舉.OrderByDescending(o=> o.score).OrderBy(o => o.Class).OrderBy(o => o.ID).OrderBy(o=>o.Classroom);
Lamda表示法較為複雜
另外需注意的是orderby的順序權重跟T-SQL的剛好相反
三者得到的結果相同