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

            }

  • 相关阅读:
    POJ3070 Fibonacci[矩阵乘法]【学习笔记】
    NOIP模拟赛20161023
    洛谷P2964 [USACO09NOV]硬币的游戏A Coin Game
    Jmeter之Bean shell使用
    jmeter 之 BeanShell PostProcessor跨线程全局变量使用
    详解JMeter函数和变量
    性能测试指标(图表)
    http协议基础(十一)http与https
    http协议进阶(六)代理
    http协议进阶(五)连接管理
  • 原文地址:https://www.cnblogs.com/gzmg/p/3376055.html
Copyright © 2011-2022 走看看