工作中经常用到的linq根据传入数据集合查询对应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点对应ID数据集合,再根据ID数据集合查询全部子级数据。

            //获取缓存数据
            object obj = Caching.GetCache(CacheKey + UModel.RoleId);
            if (obj != null)//判读缓存数据是否null
            {
                SysFunList = (DataSet)obj;
            }
            else
            {

                string strSql = "select * from View_SysRoleList where LoginID='" + UModel.LoginId + "' order by [Custom_Displayorder]";
                SysFunList = SqlHelper.Query(SqlHelper.LocalSqlServer, strSql.ToString());
                Caching.SetCache(CacheKey + UModel.RoleId, SysFunList);
            }

            //linq获取数据集内所有父节点数据
            var query = (from t in SysFunList.Tables[0].AsEnumerable()
                         where t.Field<int>("Custom_ParentNodeId") == 0
                         select t);

            if (query.Count() > 0)
            {
                //linq获取数据内所有父节点对应ID
                var doublesArray = query.Select(one => one.Field<int>("Custom_NodeId"));
                if (doublesArray.Count() > 0)
                {
                    //linq 根据ID数据结合获取对应下一级数据
                    var foos = from tq in SysFunList.Tables[0].AsEnumerable()
                               where doublesArray.Contains(tq.Field<int>("Custom_ParentNodeId"))
                               orderby tq.Field<int>("Custom_Displayorder") descending
                               select tq;

                    //转换为DataTable
                    DataTable boundTable = foos.CopyToDataTable<DataRow>();
                    RepeaterMeau.DataSource = boundTable;
                    RepeaterMeau.DataBind();
                }
            }

linq根据传入数据集合查询对应子级数据的更多相关文章

  1. linq依据传入数据集合查询相应子级数据

    工作中经经常使用到的linq依据传入数据集合查询相应子级数据,整理共享,希望大家都能用得上,代码中doublesArray 为父节点相应ID数据集合,再依据ID数据集合查询所有子级数据. //获取缓存 ...

  2. PostgreSQL查询数据(连接查询和子查询)

    原料 --用户表 create table "SysUser"( "UserId" serial, --用户Id,自增 "UserName" ...

  3. ThinkPHP框架 【 AJAX方法返回 】 例子:简单添加一条数据 和 查询一个表里的数据

    注:thinkphp使用ajax和之前使用ajax的方法一样,不同点在于之前的ajax中的url指向了一个页面,而thinkphp里面的url需要指向一个操作方法. 在模块控制器Controller文 ...

  4. Mysql-多表数据记录查询

    多表数据记录查询 一.关系数据操作 并(UNION) 并就是把具有相同字段数目和字段类型的表合并到一起 笛卡尔积(CARTESIAN PRODUCT) 笛卡尔积就是没有连接条件表关系返回的结果. 内连 ...

  5. 快读《ASP.NET Core技术内幕与项目实战》EFCore2.5:集合查询原理揭秘(IQueryable和IEnumerable)

    本节内容,涉及4.6(P116-P130).主要NuGet包:如前述章节 一.LINQ和EFCore的集合查询扩展方法的区别 1.LINQ和EFCore中的集合查询扩展方法,虽然命名和使用完全一样,都 ...

  6. Mysql--单表数据记录查询

    1.简单数据记录查询 1.1 简单数据查询 1.1.1 查询所有字段数据 例子:      1.1.2 "*"符号的使用 语法: 例子: 1.1.3 查询指定字段数据 例子:   ...

  7. 杂项:大数据 (巨量数据集合(IT行业术语))

    ylbtech-杂项:大数据 (巨量数据集合(IT行业术语)) 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞 ...

  8. MyBatis 传入List集合作为条件查询数据

    使用的是SSM框架,数据库是MySQL,做查询的时候传入List集合,使用SQL语句的in方式查询数据 主要有两点问题:我的List集合是利用的另外一个语句查询出来的,传入参数是int类型,返回值是i ...

  9. Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等)

    Linq to SQL 语法查询(链接查询,子查询 & in操作 & join,分组统计等) 子查询 描述:查询订单数超过5的顾客信息 查询句法: var 子查询 = from c i ...

随机推荐

  1. 关于document.body.scrollTop与documentElement.scrollTop

    遇到document.body.scrollTop值为0的问题 今天在写一个小demo的时候,使用滚动条,我用document.body.scrollTop获取滚动条的位置,但是很奇怪的发现在谷歌上获 ...

  2. appium+python环境搭建

    一.环境 1.安装python. 2.安装appium. 3.安装pip 4.安装selenium 5.安装Appium-Python-Client       #cmd->cd setupto ...

  3. (转)Unity控制反转和依赖注入

    昨天,面试官说他们的项目使用的是Unity,我们的项目中使用的是autofac,看了一下,用法都差不多,就连方法的名字都是一样的哈,想了解的朋友可以看看这篇文章,作者讲解的挺详细的,关于autofac ...

  4. 从UUID想到的

    1.UUID的定义 通用唯一标识符(UUID)被设计成一个在时间和空间上都独一无二的数字,常被用作唯一性标识. UUID是一个由5位十六进制数的字符串表示的128比特数字,其格式为 aaaaaaaa- ...

  5. CF 570D. Tree Requests [dsu on tree]

    传送门 题意: 一棵树,询问某棵子树指定深度的点能否构成回文 当然不用dsu on tree也可以做 dsu on tree的话,维护当前每一个深度每种字母出现次数和字母数,我直接用了二进制.... ...

  6. BZOJ 2844: albus就是要第一个出场 [高斯消元XOR 线性基]

    2844: albus就是要第一个出场 题意:给定一个n个数的集合S和一个数x,求x在S的$2^n$个子集从小到大的异或和序列中最早出现的位置 一开始看错题了...人家要求的是x第一次出现位置不是第x ...

  7. BZOJ 1185: [HNOI2007]最小矩形覆盖 [旋转卡壳]

    1185: [HNOI2007]最小矩形覆盖 Time Limit: 10 Sec  Memory Limit: 162 MBSec  Special JudgeSubmit: 1435  Solve ...

  8. MySQL Community Server 5.7安装详细步骤

    mysql社区版安装配置步骤较繁琐,几经搜索之后才成功安装,此文将所有的安装步骤及安装过程中遇到的问题进行了总结 1. 下载MySQL社区版     最新版下载地址:https://dev.mysql ...

  9. opencv-python与c++ opencv中的一些区别和基础的知识

    使用opencv-python一段时间了,因为之前没有大量接触过c++下的opencv,在网上看c++的一些程序想改成python遇到了不少坑,正好在这里总结一下. 1.opencv 中x,y,hei ...

  10. [Python Study Notes]CS架构远程访问获取信息--SERVER端v2.0

    更新内容: 1.增加内存信息获取 2.增加电池信息获取 3.增加磁盘信息获取 4.重新布局窗体 5.增加窗体名称 6.增加连接成功之前,不可按压 ''''''''''''''''''''''''''' ...