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