工作中经常用到的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. 济南清北学堂游记 Day 0.

    (摄于千佛山山顶,济南城区风光) 看似稳得一比,实则慌如老狗= = 我可能是报到最早的且实力最弱的一只. 早晨六点二十被从床上拉起来,然后在火车站附近匆忙吃了点东西就坐火车去济南了. 路途不算远,大概 ...

  2. BZOJ 2286: [Sdoi2011消耗战 [DP 虚树]

    传送门 题意: 删除价值和最小的边使得$1$号点与$k$个关键点不连通 一个树形DP...但是询问多次,保证总的关键点数为$O(n)$ 先说一下这个$DP$ $f[i]$表示子树$i$中的关键点与$1 ...

  3. BZOJ 3569: DZY Loves Chinese II [高斯消元XOR 神题]

    http://www.lydsy.com/JudgeOnline/problem.php?id=3569 题意:多次询问一个无向连通图当图中某k条边消失时这个图是否联通 强制在线 太神啦啦啦啦啦啦啦啦 ...

  4. BZOJ 3473: 字符串 [广义后缀自动机]

    3473: 字符串 Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 354  Solved: 160[Submit][Status][Discuss] ...

  5. POJ 1625 Censored! [AC自动机 高精度]

    Censored! Time Limit: 5000MS   Memory Limit: 10000K Total Submissions: 9793   Accepted: 2686 Descrip ...

  6. python3图像识别库安装与使用

    pytesseract库的安装 因为用的win10,就直说windows上面的安装了.其实就是pip安装就完事了. $ pip install pytesseract 安装了这个还不算完,得安装Tes ...

  7. 通过SVG与CSS3实现向上图标

    需求 H5活动页需要用的图标很少,暂时没有使用iconfont的必要性,而通过图片的话额外增加UI的工作量以及增加请求数,前端也有很多实现简单图标的方法,所以就尝试自己去解决,写一个"返回顶 ...

  8. 关于 IO的同步异步间要描述

    IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口. 比如你打开 ...

  9. redis —主从&&集群(CLUSTER)

    REDIS主从配置 为了节省资源,本实验在一台机器进行.即,在一台机器上启动两个端口,模拟两台机器. 机器准备: [root@adailinux ~]# cp /etc/redis.conf /etc ...

  10. Docker Centos6 下建立 Docker 桥接网络

    cd /etc/sysconfig/network-scripts/; cp ifcfg-eth0  ifcfg-br0 vi ifcfg-eth0 //增加BRIDGE=br0,删除IPADDR,N ...