首页 > 数据库 >linq快速动态获取数据库表字段名称、类型、数据

linq快速动态获取数据库表字段名称、类型、数据

时间:2024-08-16 16:49:59浏览次数:13  
标签:aa columnNames 数据库 List 表字 linq 数据表 PropertyInfo properties

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

标签:aa,columnNames,数据库,List,表字,linq,数据表,PropertyInfo,properties
From: https://www.cnblogs.com/zrprj/p/18363183

相关文章

  • MySQL数据库支持存储引擎
    MySQL数据库支持多种存储引擎,以下是几种常见的存储引擎:###1.**InnoDB**-**特性**:InnoDB是MySQL默认的事务型存储引擎,支持ACID事务、行级锁定和外键约束。-**优点**:提供高可靠性、自动恢复、并发性强,适合高并发的应用场景。-**缺点**:相比其他存储引擎,InnoDB在......
  • 向量数据库
    最近,一种鲜为人知的数据类型--向量--作为生成式人工智能的推动力,成为了人们关注的焦点。但是,向量--以及用于存储和分析向量的数据库--已经在后台工作了很多年。它们被用于城市规划、交通物流和环境分析中的地理空间制图和分析。最近,向量还被用于零售产品以及音乐和视频流网站的推......
  • 我与数据库的七年之痒:从初识到没它不行
    腾讯云社区最新发布的《中国数据库前世今生》纪录片,作为7年使用数据库的程序员来说,感受很深。纪录片主要讲述了数据库的发展历程以及不同数据库的使用经验。视频中提到作者在大学时期学习数据库原理时的经历,以及关于使用TDSQL时与MySQL不兼容的问题。此外,视频还涉及了如何选择合适......
  • 图数据库在社交网络分析中的应用
    图数据库在社交网络分析中的应用广泛且深入,其独特的数据结构和高效的查询能力为理解和分析复杂的社交网络关系提供了强有力的支持。以下将详细探讨图数据库在社交网络分析中的多个方面,包括用户关系建模、推荐系统优化、实时社交分析、影响力分析、欺诈检测与安全、知识图谱......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较......
  • mysql数据库中decimal数据类型比较大小
    在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>,<,>=,<=,=和<>(或!=)。以下是一个详细的示例,说明如何在MySQL中使用DECIMAL数据类型并比较它......
  • 数据库基本操作
    数据库基本操作#数据库状态status;#简写\sshowprocesslist;Id:该字段表示当前会话的唯⼀标识符,每个会话都有⼀个唯⼀的ID。User:该字段表示当前会话的⽤户名。Host:该字段表示当前会话的主机名或IP地址。db:该字段表示当前会话正在使⽤的数据库名,如果为NULL,则表......
  • 200T 数据库非归档无备份恢复---惜分飞
    联系:手机/微信(+8617813235971)QQ(107644445)标题:200T数据库非归档无备份恢复作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]一套近200T的,6个节点的RAC,由于存储管线链路不稳定,导致服务器经常性掉盘,引起asm磁盘组频繁dismount......
  • 云计算实训30——mysql主从复制同步、mysql5.7版本安装配置、python操作mysql数据库、
    一、mysql主从复制及同步1、mysql主从自动开机同步2、配置mysql5.7版本mysql-5.7.44-linux-glibc2.12-x86_64.tar启动服务、登录对数据库进行基本操作3、使用python操纵mysql数据库4、编辑python脚本自动化操纵mysql数据库二、mycat读写分离......
  • 一文搞懂后端面试之数据库分布式事务【中间件 | 数据库 | MySQL | ACID】
    单库拆分为分库分表之后,一个巨大的挑战就是本地事务变成了分布式事务。事实上,即使没有分库分表,在微服务架构之下我们也还是会面临分布式事务的问题。前置知识分布式事务既可以是纯粹多个数据库实例之间的分布式事务,也可以是跨越不同中间件的业务层面上的分布式事务。前表......