2个List<T>链接

89 阅读1分钟
            var power = Db.Queryable<D_RoleColumn>()
                       .Where(a => a.RoleID == roleid && a.Flag == powerflag)
                       .GroupBy(a => new { a.ColumnID })
                       .Select(a => new ColumnVM
                       {
                           ID = a.ColumnID
                       }).OrderBy(a => a.ID).ToList();

            var data = Db.Queryable<D_TableColumn>()
                         .Where(a => a.IsUse == 1 && a.Flag == flag)
                         .Select(a => new ColumnVM
                         {
                             ID = a.ID,
                             TableColumn = a.TableColumn,
                             ColumnName = a.ColumnName,
                             DataType = a.DataType,
                             Value = a.Value,
                             CIndex = a.CIndex,
                             IsRequired = a.IsRequired,
                             Flag = a.Flag
                         }
                         ).OrderBy(a => a.ID).ToList();

            var source = (from a in data
                          join b in power on a.ID equals b.ID into g
                          from d in g.DefaultIfEmpty()
                          select new ColumnVM
                          {
                              ID = a.ID,
                              TableColumn = a.TableColumn,
                              ColumnName = a.ColumnName,
                              DataType = a.DataType,
                              Value = a.Value,
                              CIndex = a.CIndex,
                              Flag = a.Flag,
                              IsRequired = a.IsRequired,
                              PowerFlag = d == null ? 0 : 1
                          }).OrderBy(a => a.CIndex).ToList();