public IEnumerable <object> SetterDatas(BaseHadlerConfig config, MySqlDataReader dataReader, IEnumerable <string> columns) { ICollection <object> datas = new List <object>(); var queryConfig = config as QueryConfig; string[] alias = null; if (queryConfig != null) { alias = queryConfig.Alais; } var count = columns.Count(); var alaisParser = new AlaisParser(columns, alias); while (dataReader.Read()) { dynamic data = new ExpandoObject(); for (var i = 0; i < count; i++) { var col = columns.ElementAt(i); ((IDictionary <string, object>)data).Add(alaisParser.GetName(i, col), dataReader[col]);; } datas.Add(data); } return(datas); }
public IEnumerable <object> SetterDatas(BaseHadlerConfig config, MySqlDataReader dataReader, IEnumerable <string> columns) { ICollection <object> datas = new List <object>(); var queryConfig = config as QueryConfig; string[] alias = null; if (queryConfig != null) { alias = queryConfig.Alais; } var count = columns.Count(); var alaisParser = new AlaisParser(columns, alias); while (dataReader.Read()) { object data = ReflectUtil.ReflectUtil.CreateInstance(AssemblyString, TypeStr); var type = data.GetType(); for (var i = 0; i < count; i++) { var col = columns.ElementAt(i); var realName = alaisParser.GetName(i, col); var property = type.GetProperty(realName); if (property == null) { continue; } if (dataReader[col].GetType() != typeof(System.DBNull)) { property.SetValue(data, dataReader[col]); } } datas.Add(data); } return(datas); }