一、DataSetToList
private List<T> DataSetToList<T>(DataSet objDs,int numTableIndex = 0)
{
List<T> objResult = new List<T>();
string strDTColName = "";
// 循环所有数据
for (int i = 0; i < objDs.Tables[0].Rows.Count; i++)
{
// 创建泛型类
T objT = Activator.CreateInstance<T>();
// 获取类型所有属性
PropertyInfo[] objPropertys = objT.GetType().GetProperties();
// 循环数据表的所有列,并且把值赋值到泛型类里面
for (int j = 0; j < objDs.Tables[0].Columns.Count; j++)
{
// 获取 Table 当前列的名称
strDTColName = objDs.Tables[0].Columns[j].ColumnName.Trim().ToUpper();
// 获取 Table 字段对应类的属性
var objPropertyInfo = objPropertys.Where(o => o.Name.Trim().ToUpper().Equals(strDTColName)).First();
// 判断是否查询到相同属性
if (objPropertyInfo != null)
{
// 判断 Table 数据是否有效
if (objDs.Tables[0].Rows[i][j] != DBNull.Value)
{
// 数据写入到 objT
objPropertyInfo.SetValue(objT, objDs.Tables[0].Rows[i][j], null);
}
else
{
// 设置默认值
objPropertyInfo.SetValue(objT, null, null);
}
}
}
objResult.Add(objT);
}
return objResult;
}