zoukankan      html  css  js  c++  java
  • 总结 jion,group join 基于方法的查询与查询表达式 对比

    数据源:

    代码:

    using (tempdbEntities context = new tempdbEntities())
                {
                    #region 基于方法的查询
                    Console.WriteLine("基于方法的查询-Join:");
                    var queryFF = context.P.Join(context.S, p => p.PID, s => s.PID, (p, s) => new { p.PNAME, s.SNAME });
                    queryFF.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.SNAME); });
                    Console.WriteLine("数量:" + queryFF.Count());
    
                    Console.WriteLine("基于方法的查询-GroupJoin:");
                    var queryFF2 = context.P.GroupJoin(context.S, p => p.PID, s => s.PID, (p, s) => new { p.PNAME, count = s.Count() });
                    queryFF2.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.count); });
                    Console.WriteLine("数量:" + queryFF2.Count());
                    #endregion
    
                    #region 查询表达式
                    Console.WriteLine("查询表达式-无into:");
                    var queryCX = from p in context.P join s in context.S on p.PID equals s.PID select new { p.PNAME, s.SNAME };
                    queryCX.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.SNAME); });
                    Console.WriteLine("数量:" + queryCX.Count());
    
                    Console.WriteLine("查询表达式-有into:");
                    var queryCX2 = from p in context.P join s in context.S on p.PID equals s.PID into ps from psTable in ps.DefaultIfEmpty() select new { p.PNAME, psTable.SNAME };
                    queryCX2.ToList().ForEach(x => { Console.WriteLine("{0} - {1}", x.PNAME, x.SNAME); });
                    Console.WriteLine("数量:" + queryCX2.Count());
                    #endregion
    
                    Console.ReadLine();
                }

    结果:

  • 相关阅读:
    负载均衡获得真实源IP的6种方法
    美图全链路监控实战
    移动端APM网络监控与优化方案
    k8s 如何对外提供服务
    mysql5.7安装audit审计插件
    mysql 5.7安装密码校验插件validate_password
    Linux Crontab 定时任务
    stm32 hard fault usage fault UNALIGNED -> task stack overflow
    linux逻辑卷管理(LVM)
    suse11开启telnet服务
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/10823446.html
Copyright © 2011-2022 走看看