时间: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
标签: