Beispiel #1
0
        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);
    }