EF 查询表达式 join
数据源:
1.无into,相当于 inner join
var query = from p in context.P join s in context.S on p.PID equals s.PID select new { p.PNAME, s.SNAME }; query.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.SNAME); }); Console.WriteLine("数量:" + query.Count()); Console.ReadLine();
结果:
2.有 into,类似于 left join,注意,返回了主表多条对应的数据
var query = from p in context.P join s in context.S on p.PID equals s.PID into ab from abTable in ab.DefaultIfEmpty() select new { p.PNAME, abTable.SNAME }; query.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.SNAME); }); Console.WriteLine("数量:" + query.Count());
结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步