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了!

  • 相关阅读:
    检测Linux硬盘IO数据
    获取OrangePI板子CPU温度
    ASP.Net开发WebAPI跨域访问(CORS)的精简流程
    一些常用复合命令
    关于Linux的虚拟内存管理
    Linux中组 与 用户的管理
    linux加载与使用ko驱动
    7z命令行 极限压缩指令
    nodejs的POST请求
    案例:用ajax 方法 解析xml
  • 原文地址:https://www.cnblogs.com/zqn518/p/2606208.html
Copyright © 2011-2022 走看看