我数据库中存的是string类型的 在实体中时Guid类型的
下面是转换成泛型时遇到的问题 的代码:
PropertyInfo[] properties = typeof(CommedityClassesEntity).GetProperties();//获取实体类型的属性集合
Hashtable hh = GetColumnType(dt.Columns);//属性名称和类型名的键值对集合
IList colNames = GetColumnNames(hh);//按照属性顺序的列名集合
ListEntity list = new ListEntity();
CommedityClassesEntity model = default(CommedityClassesEntity);
foreach (DataRow dr in dt.Rows)
{
model = new CommedityClassesEntity();//创建实体
int i = 0;
foreach (PropertyInfo p in properties)
{
if (p.PropertyType == typeof(string))
{
p.SetValue(model, dr[colNames[i++]], null);
}
else if (p.PropertyType == typeof(int))
{
p.SetValue(model, int.Parse(dr[colNames[i++]].ToString()), null);
}
else if (p.PropertyType == typeof(DateTime))
{
p.SetValue(model, DateTime.Parse(dr[colNames[i++]].ToString()), null);
}
else if (p.PropertyType == typeof(float))
{
p.SetValue(model, float.Parse(dr[colNames[i++]].ToString()), null);
}
else if (p.PropertyType == typeof(double))
{
p.SetValue(model, double.Parse(dr[colNames[i++]].ToString()), null);
}
else if (p.PropertyType == typeof(Guid))
{
p.SetValue(model,new Guid(dr[colNames[i++]].ToString()), null); 这句话错误 我想问问 怎么想才正确
}
}