当前位置:Gxlcms > 数据库问题 > 用反射实现数据库读出数据转化为对应的实体list

用反射实现数据库读出数据转化为对应的实体list

时间:2021-07-01 10:21:17 帮助过:2人阅读

            SqlConnection con = new SqlConnection(ConnectString);
            con.Open();
            SqlCommand com = new SqlCommand(sql,con);
            SqlDataReader reader = com.ExecuteReader();
            Assembly assembly = Assembly.GetExecutingAssembly();
            var type  =assembly.GetType(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace+"." + tablename);
            List<object> list = new List<object>();
            while (reader.Read())
            {
                object[] parameters= new object[1];
                parameters[0] = reader;
                var obj = assembly.CreateInstance(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType.Namespace + "." + tablename, true, System.Reflection.BindingFlags.Default,
       null, parameters, null, null);
                list.Add(obj);
            }
            con.Close();
            return list;

 表与对应的类的名称相同,类中需要写一个构造函数,用SqlDataReader 对象初始化类的属性(其他方法也行),创建对象的时候会调用构造函数初始化对象。

 

用反射实现数据库读出数据转化为对应的实体list

标签:

人气教程排行