奔腾不止
此后如竟没有炬火,我便是唯一的光......

join:

var majors=from m in Majors

                   join t in Teachers

                  on m.Teacher  equals t     --不能使用==

                  where t.Name='小王'

                  select m;

left outer join:左边的集合必须返回,哪怕右边没有匹配到的(没有匹配到的以NULL显示),需要使用DefaultIfEmpty();

var majors=from t in Teachers

                   join m in Majors 

                   on t equals m.Teacher into mt     --mt是IEnumerable<Major>

                   from result in mt.DefaultIfEmpty()  --再次from并调DefaultIfEmpty()方法

                   select new { teacher=result.Name,major=m?.Name??"没有课程" }; --null运算符

posted on 2020-09-27 15:17  奔腾不止  阅读(1277)  评论(0编辑  收藏  举报