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(); |