话不多说直接上方法,如下:
/// <summary>
/// tbale转list
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static List<T> TableToList<T>(DataTable table) where T : class, new()
{
var result = new List<T>();
var propertys = typeof(T).GetProperties();
foreach (DataRow dr in table.Rows)
{
var item = new T();
result.Add(item);
foreach (var pi in propertys)
{
if (!table.Columns.Contains(pi.Name)) continue;
var value = dr[pi.Name];
if (value is DBNull || value == null) continue;
pi.SetValue(item, value);
}
}
return result;
}
使用方法如下:
public List<User> GetUserInfo()
{
string sqltxt = "SELECT * FROM User";
//执行Sql获取数据
DataTable dt = DbHelperSQL.Query(sql).Tables[0];
//这里的User类型替换成你想要的任意类型
return DalHelp.TableToList<User>(dt);
}