Fastest way to map result of SqlDataReader to object

后端 未结 11 1262
花落未央
花落未央 2021-02-04 08:49

I\'m comparing materialize time between Dapper and ADO.NET and Dapper. Ultimately, Dapper tend to faster than ADO.NET, though the first time a given fetch query was executed

11条回答
  •  萌比男神i
    2021-02-04 09:00

    List result = new List();
    SqlDataReader reader = com.ExecuteReader();
    
    while(reader.Read())
    {                        
        Type type = typeof(T);
        T obj = (T)Activator.CreateInstance(type);
        PropertyInfo[] properties = type.GetProperties();
    
        foreach (PropertyInfo property in properties)
        {
            try
            {
                var value = reader[property.Name];
                if (value != null)
                    property.SetValue(obj, Convert.ChangeType(value.ToString(), property.PropertyType));
            }
            catch{}                            
        }
        result.Add(obj);
    }
    

提交回复
热议问题