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

            }

  • 相关阅读:
    搭建非域AlwaysOn win2016+SQL2016
    从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
    四、基于Windows 2012配置SQL Server 2014 AlwaysOn
    三、安装SQLserver 2014(For AlwaysOn)
    二、 Windows 2012配置故障转移(For SQLServer 2014 AlwaysOn)
    Mybatis-SQL语句构建器类及日志
    Mybatis-JavaAPI
  • 原文地址:https://www.cnblogs.com/gzmg/p/3376055.html
Copyright © 2011-2022 走看看