private List<T> TableToEntity<T>(DataTable dt) where T : class,new()
{
Type type = typeof(T);
List<T> list = new List<T>();
string tempName = "";
foreach (DataRow row in dt.Rows)
{
System.Reflection.PropertyInfo[] pArray = type.GetProperties();
T entity = new T();
foreach (System.Reflection.PropertyInfo p in pArray)
{
tempName = p.Name; // 检查DataTable是否包含此列
if (dt.Columns.Contains(tempName))
{
// 判断此属性是否有Setter
if (!p.CanWrite) continue;
object value = row[tempName];
if (value != DBNull.Value)
p.SetValue(entity, value, null);
}
}
list.Add(entity);
}
return list;
}
{
Type type = typeof(T);
List<T> list = new List<T>();
string tempName = "";
foreach (DataRow row in dt.Rows)
{
System.Reflection.PropertyInfo[] pArray = type.GetProperties();
T entity = new T();
foreach (System.Reflection.PropertyInfo p in pArray)
{
tempName = p.Name; // 检查DataTable是否包含此列
if (dt.Columns.Contains(tempName))
{
// 判断此属性是否有Setter
if (!p.CanWrite) continue;
object value = row[tempName];
if (value != DBNull.Value)
p.SetValue(entity, value, null);
}
}
list.Add(entity);
}
return list;
}