您的位置:首页 > 其它

将datatable转换成模型

2016-03-18 17:43 204 查看
using System;

using System.Collections.Generic;

using System.Data;

using System.Linq;

using System.Reflection;

using System.Text;

using System.Threading.Tasks;

namespace RongGuang.Extend

{

class ModelConvertHelper where T : new()

{

public static IList ConvertToModel(DataTable dt)

{

// 定义集合

IList ts = new List();

// 获得此模型的类型
Type type = typeof(T);

string tempName = "";

foreach (DataRow dr in dt.Rows)
{
T t = new T();

// 获得此模型的公共属性
PropertyInfo[] propertys = t.GetType().GetProperties();

foreach (PropertyInfo pi in propertys)
{
tempName = pi.Name;

// 检查DataTable是否包含此列
if (dt.Columns.Contains(tempName))
{
// 判断此属性是否有Setter
if (!pi.CanWrite) continue;

object value = dr[tempName];
if (value != DBNull.Value)
pi.SetValue(t, value, null);
}
}

ts.Add(t);
}

return ts;

}

}


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