码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2017-07-31 15:45:26      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:tom   rom   var   getc   abi   node   pop   bind   local   

工作中经经常使用到的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依据传入数据集合查询相应子级数据

标签:tom   rom   var   getc   abi   node   pop   bind   local   

原文地址:http://www.cnblogs.com/lxjshuju/p/7263134.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!