public static List <T> ToEntityList <T>(this DataTable dt) where T : new() { // 定义集合 List <T> list = new List <T>(); if (dt == null || dt.Rows.Count == 0) { return(list); } EmitEntityBuilder <T> .DynamicMethodDelegate <DataRow> handler = EmitEntityBuilder <T> .CreateHandler(dt.Rows[0]); foreach (DataRow dr in dt.Rows) { list.Add(handler(dr)); } return(list); }
/// <summary> /// 转换成List /// </summary> /// <typeparam name="T"></typeparam> /// <param name="reader"></param> /// <param name="isClose"></param> /// <returns></returns> public static List <T> ToList <T>(this IDataReader reader, bool isClose) where T : class, new() { List <T> list = new List <T>(); if (reader == null) { return(list); } EmitEntityBuilder <T> .DynamicMethodDelegate <IDataRecord> handler = EmitEntityBuilder <T> .CreateHandler(reader); while (reader.Read()) { list.Add(handler(reader)); } if (isClose) { reader.Close(); reader.Dispose(); reader = null; } return(list); }