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

    结果:

  • 相关阅读:
    phpcms列表页调用 点击量
    详解响应式布局设计
    PHPCMS V9 全站通用日期时间标签
    phpcms v9模板制作常用代码集合(转)
    Oracle 学习之 Select 1
    Oracle 学习之exists
    Hive学习之数据去重
    Hive学习之Union和子查询
    Clojure学习之defmulti
    Clojure学习之比线性箭头操作
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/10823446.html
Copyright © 2011-2022 走看看