Esempio n. 1
0
 /// <summary>
 /// 将DataTable中的所有数据转换成List>T<集合
 /// </summary>
 /// <typeparam name="T">DataTable中每条数据可以转换的数据类型</typeparam>
 /// <param name="dataTable">包含有可以转换成数据类型T的数据集合</param>
 /// <returns></returns>
 public static IEnumerable <T> GetEntities <T>(DataTable dataTable)
 {
     if (dataTable == null)
     {
         throw new ArgumentNullException(nameof(dataTable));
     }
     //如果T的类型满足以下条件:字符串、ValueType或者是Nullable<ValueType>
     if (typeof(T).IsSimpleType())
     {
         return(GetSimpleEntities <T>(dataTable));
     }
     else
     {
         //return dataTable.CreateDataReader().ToCollection<T>();
         return(DapperEntityConverter.ToCollection <T>(dataTable.CreateDataReader())); //不能使用using (var reader = dataTable.CreateDataReader())
     }
 }
Esempio n. 2
0
        /// <summary>
        /// 将DbDataReader中的所有数据转换成List>T<集合
        /// </summary>
        /// <typeparam name="T">DbDataReader中每条数据可以转换的数据类型</typeparam>
        /// <param name="dataTable">包含有可以转换成数据类型T的DbDataReader实例</param>
        /// <returns></returns>
        public static IEnumerable <T> GetEntities <T>(DbDataReader reader)
        {
            if (reader == null)
            {
                throw new ArgumentNullException(nameof(reader));
            }
            Type t = typeof(T);

            if (t == SmartCrudHelper.String || t.IsValueType)
            {
                return(GetSimpleEntities <T>(reader));
            }
            else
            {
                //return reader.ToCollection<T>()?.ToList();
                return(DapperEntityConverter.ToCollection <T>(reader));
            }
        }