您的位置:首页 > 编程语言 > C#

C# DataTable转List<Model>通用类

2013-04-26 10:59 447 查看
/// <summary>

/// DataTable转换为List<Model>

/// </summary>

public static class DataTableToListModel<T> where T : new()

{

public static IList<T> ConvertToModel(DataTable dt)

{

//定义集合

IList<T> ts = new List<T>();

T t = new T();

string tempName = "";
//获取此模型的公共属性
PropertyInfo[] propertys = t.GetType().GetProperties();
foreach (DataRow row in dt.Rows)

{
t = new T();

foreach (PropertyInfo pi in propertys)

{

tempName = pi.Name;

//检查DataTable是否包含此列

if (dt.Columns.Contains(tempName))

{

//判断此属性是否有set

if (!pi.CanWrite)

continue;

object value = row[tempName];

if (value != DBNull.Value)

pi.SetValue(t, value, null);

}

}

ts.Add(t);

}

return ts;

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: