using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; namespace YX.BLL { public class DataTableToModel { //数据库查出来的表名必须与实体表名一致 public static T GetEntity(DataTable table) where T : new() { T entity = new T(); foreach (DataRow row in table.Rows) { foreach (var item in entity.GetType().GetProperties()) { if (row.Table.Columns.Contains(item.Name)) { if (DBNull.Value != row[item.Name]) { item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null); } } } } return entity; } public static IList GetEntities(DataTable table) where T : new() { IList entities = new List(); foreach (DataRow row in table.Rows) { T entity = new T(); foreach (var item in entity.GetType().GetProperties()) { item.SetValue(entity, Convert.ChangeType(row[item.Name], item.PropertyType), null); } entities.Add(entity); } return entities; } } }