数据源:

 EF 查询表达式 join 随笔 第1张

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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();

结果:

EF 查询表达式 join 随笔 第2张

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());

结果:

EF 查询表达式 join 随笔 第3张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄