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

            }

  • 相关阅读:
    python中scipy学习——随机稀疏矩阵及操作
    ptyhon中文本挖掘精简版
    ptyhon中文本挖掘精简版
    [python] 使用scikit-learn工具计算文本TF-IDF值
    [python] 使用scikit-learn工具计算文本TF-IDF值
    python高手的自修课
    python高手的自修课
    C/C++ scanf 函数中%s 和%c 的简单差别
    Ctags基本配置
    搭建gitserver
  • 原文地址:https://www.cnblogs.com/gzmg/p/3376055.html
Copyright © 2020-2023  润新知