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

            }

  • 相关阅读:
    51CTO资料索引 很不错
    extern和extern“c"作用详解 以及C和C++混合编程 在文章:3.深层揭密extern "C" 部分可以看到 .
    用VC++实现图像检索技术(转)
    OpenSceneGraph FAQ
    NeHe OpenGL教程 02 渲染第一个多边形
    C++经验谈(摘抄)
    利用条件编译实现工程定制版本的自动输出
    没有文件扩展".js"的脚本引擎 解决办法
    OpenGL FAQ
    NeHe OpenGL教程 01 创建OpenGL窗口
  • 原文地址:https://www.cnblogs.com/gzmg/p/3376055.html
Copyright © 2011-2022 走看看