var bj = "Bj";
            
            var pbj = typeof(Xs_xx).GetProperty(bj);//获得班级属性
            /*
            var cxbj = from aa in sjklj.Xs_xx
                       let y= (string)pbj.GetValue(aa, null)//linq to entity不能转换识别,只能用下面的方法
                       where y=="12"
                       select aa;
             */
            //int bjgs = cxbj.Count();
           // layeriujq.Msg("班级为12的个数"+bjgs.ToString(), "6", "3000", this.Page);
            int i = 0;//下面研究成果为极品
            foreach(var aa in sjklj.Xs_xx)
            {
                if((string)pbj.GetValue(aa, null)=="12")
                {
                    i++;
                }
            }

            layeriujq.Msg("班级为12的个数" + i.ToString(), "6", "3000", this.Page);


  /*
         * 要从Model LINQ获取列名,您可以使用以下方法:

使用反射获取Model的属性列表。
遍历属性列表,获取每个属性的名称。
将属性名称添加到列表中。
List<string> columnNames = ModelExtensions.GetColumnNames<YourModel>();//YourModel为数据表
         */
        /// <summary>
        /// 根据数据表获取每列的名称
        /// </summary>
        /// <typeparam name="T">数据表</typeparam>
        /// <returns>列名称列表</returns>
        public static List<string> GetColumnNames<T>()
        {
            Type type = typeof(T);
            PropertyInfo[] properties = type.GetProperties();

            List<string> columnNames = new List<string>();

            foreach (PropertyInfo property in properties)
            {
                columnNames.Add(property.Name);
            }

            return columnNames;
        }

        /// <summary>
        /// 
        /// </summary>
        /// <typeparam name="T">数据表</typeparam>
        /// <returns>数据表字段类型</returns>
        public static List<string> GetColumnTypes<T>()
        {
            Type type = typeof(T);
            PropertyInfo[] properties = type.GetProperties();

            List<string> columnNames = new List<string>();

            foreach (PropertyInfo property in properties)
            {
                columnNames.Add(property.PropertyType.ToString());
            }

            return columnNames;
        }

 //  List<string> lst = webncxk_class.GetColumnNames<管理员用户>();
            List<string> lst = webncxk_class.GetColumnTypes<学生成绩>();
            this.ASPxGridView1.DataSource = lst;
            this.ASPxGridView1.DataBind();
posted on 2024-08-16 16:45  wslk  阅读(7)  评论(0编辑  收藏  举报