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

    结果:

  • 相关阅读:
    操作系统概述总结
    string类的用法总结
    stack的简单用法总结
    递归用法总结
    C语言中常见的图形打印总结
    C++中list的用法总结
    STL中find和sort的用法总结
    unity Physics/Physics2DProjectSettings中LayerCollisionMatrix的存储方式
    UnityEvent<T> 系列化
    十字相乘法
  • 原文地址:https://www.cnblogs.com/jasonlai2016/p/10823446.html
Copyright © 2020-2023  润新知