zoukankan      html  css  js  c++  java
  • 关于Linq的.distinct()方法的运用(一个简单的例子)

    目的:在GroupDetail表里查询所有不重复的年级和科目,并保存在ArrayList里

    在数据访问层

     internal class GroupDetailInfoDal : DaoImplements<int, GroupDetail>
        {
            internal GroupDetailInfoDal()
                : base("userCenter")
            {
            }

        internal ArrayList GetGrade()
            {
                ArrayList arrayGrade = new ArrayList();
                var query = (from x in this.Table
                                where x.GradeID != 0
                               select x.GradeID).Distinct();
                if(query != null)

        {
                  var qq = query.ToList();
                  for (int i = 0; i < qq.Count; i++)
                  {
                      arrayGrade.Add(qq[i]);
                  }

        }
                return arrayGrade;
            }

            /// <summary>
            /// 查出所有科目编号
            /// </summary>
            /// <returns></returns>
            internal ArrayList GetSubject()
            {
                var query = (from n in this.Table
                             where n.SubjectID != 0
                             select n.SubjectID).Distinct();
               
                ArrayList arraySubject = new ArrayList();

         if (query != null)
                {
                  var qq = query.ToList();
                      for (int i = 0; i < qq.Count;i++ )
                      {
                            arraySubject.Add(qq[i]);
                      }
                }
                return arraySubject;
            }

        }

    接收:

        //得到导航所有内容
            void GetAllDetail()
            {
                //得到所有年级
                ArrayList arrayGrade = new ArrayList();   //年级编号
               
                arrayGrade = GroupDetailInfoBll.GetGrade();
                string Gname = "";
                for (int i = 0; i < arrayGrade.Count; i++)
                {
                    Gname = GradeBll.Get(Convert.ToByte(arrayGrade[i])).Name;
                    arrayGName.Add(Gname);
                }

                //得到所有科目
                ArrayList arraySuject = new ArrayList();  //科目编号
                arraySuject = GroupDetailInfoBll.GetSubject();
                string SName = "";
                for (int j = 0; j < arraySuject.Count; j++)
                {
                    SName = SubjectBll.Get(Convert.ToInt16(arraySuject[j])).Name;
                    arraySName.Add(SName);
                }
            }

    就OK了!

  • 相关阅读:
    docker 部署springboot
    CentOS 7 安装docker
    008自瞄原理
    007根据矩阵基地址绘制方框
    006寻找矩阵
    005分析其他人基地址
    易语言读取鼠标坐标x,y
    003获取鼠标x,y
    Oracle单机Rman笔记[0]---环境准备
    系统优化设计笔记--曹大公众号文章笔记
  • 原文地址:https://www.cnblogs.com/zqn518/p/2606208.html
Copyright © 2011-2022 走看看