C#進階-Linq-join


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運算符


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM