zoukankan      html  css  js  c++  java
  • linq to sql内链接,左右链接(示例)

    linq to sql内链接,左右链接(示例)  

    2011-06-16 17:37:29|  分类: linq to sql |字号 订阅

     

            public static void InnerJoinTest()//内链接

            {

                DemoDataContext context = new DemoDataContext();

                context.Log = Console.Out;

                //方式一

                var query = from tb1 in context.RoleRow

                            join tb2 in context.RoleFunctionRow on tb1.RoleId equals tb2.RoleId

                            select new { RoleId = tb1.RoleId, RoleName = tb1.EN_Name, FunctionId = tb2.FunctionId };

     

                ObjectDumper.Write(query);

                //方式二

                var query2 =

                     from tb1 in context.RoleRow

                     from tb2 in context.RoleFunctionRow

                     where tb1.RoleId == tb2.RoleId

                     select new { RoleId = tb1.RoleId, RoleName = tb1.EN_Name, FunctionId = tb2.FunctionId };

                ObjectDumper.Write(query2);

     

                //var query3=    from tb1 in context.RoleRow

                //                 join tb2 in context.RoleFunctionRow  on tb1.RoleId equals  tb2.RoleId

                //                 join tb3 in context.FunctionRow  on tb2.FunctionId equals tb3.FunctionId

                //                 select new { RoleId = tb1.RoleId, RoleName = tb1.EN_Name,FunctionId=tb2.FunctionId,FunctionName=tb3.EN_Name }

            }

            public static void LeftJoinTest()//左右链接

            {

                int minRoleId = 1;

                DemoDataContext context = new DemoDataContext();

                context.Log = Console.Out;

                var query = from tb1 in context.RoleRow

                            join tb2 in context.RoleFunctionRow on tb1.RoleId equals tb2.RoleId into tempT

                            from tb3 in tempT.DefaultIfEmpty()// 关键在into tempT from tb3 in tempT.DefaultIfEmpty()

                            where tb1.RoleId > minRoleId

                            select new { RoleId = tb1.RoleId, RoleName = tb1.EN_Name, FunctionId = tb3.FunctionId };

                ObjectDumper.Write(query);

            }

  • 相关阅读:
    ansible 通过堡垒机/跳板机 访问目标机器需求实战(ssh agent forward)
    运维标准化与流程化建设
    运维与自动化运维发展方向
    文件atime未变问题的研究
    ansible 任务委派 delegate_to
    ansible 调优
    windows中安装模拟器后修改模拟器中的hosts方法
    负载均衡服务器主要考量三个指标
    DRBD+NFS+Keepalived高可用环境
    sshpass
  • 原文地址:https://www.cnblogs.com/gzmg/p/3376055.html
Copyright © 2011-2022 走看看