///
///把Dt转化成实体集合
///
///实体
///表
///
publicListDtOrList(DataTabledt)whereT:class,new()
{
try
{
Listlist=newList();
for(inti=0;i<dt.Rows.Count;i++)
{
//==============================创建实体实例并获取实例中的一切公共特点=========================
Tt=Activator.CreateInstance();
PropertyInfo[]PrInfo=t.GetType().GetProperties();
//end==========================创建实体实例并获取实例中的一切公共特点=========================
for(intj=0;j<dt.Columns.Count;j++)
{
foreach(PropertyInfoInfoinPrInfo)
{
//======================当特点称号和列名相同时对实体字段进行赋值========================
if(dt.Columns[j].ColumnName.ToUpper().Equals(Info.Name.ToUpper()))
{
if(dt.Rows[i][j]!=DBNull.Value)
{
Info.SetValue(t,dt.Rows[i][j],null);
}
else
{
Info.SetValue(t,null,null);
}
break;
}
//end==================当特点称号和列名相同时对实体字段进行赋值========================
}
}
list.Add(t);
}
returnlist;
}
catch(Exceptionex)
{
thrownewException(ex.Message);
}
}
此方法转化性能并不是最优的,有爱好的可以尝试着进行优化
如想要更优的方法,请留言
DataTable转换成List集合
未经允许不得转载:IT技术网站 » DataTable转换成List集合
评论前必须登录!
注册