예제 #1
0
        internal TEntity ExecuteSingle(DbCommandData data,
                                       Action <IDataReader, TEntity> customMapper,
                                       Action <dynamic, TEntity> customMapperDynamic)
        {
            AutoMapper <TEntity> autoMapper = null;

            autoMapper = new AutoMapper <TEntity>(data);

            var item = default(TEntity);

            if (data.Reader.Read())
            {
                item = (TEntity)data.ContextData.EntityFactory.Create(typeof(TEntity));

                autoMapper.AutoMap(item);

                if (customMapper != null)
                {
                    customMapper(data.Reader, item);
                }

                if (customMapperDynamic != null)
                {
                    var dynamicAutoMapper = new DynamicTypAutoMapper(data);
                    var dynamicObject     = dynamicAutoMapper.AutoMap();
                    customMapperDynamic(dynamicObject, item);
                }
            }

            return(item);
        }
        public dynamic ExecuteSingle(DbCommandData data)
        {
            var autoMapper = new DynamicTypAutoMapper(data);

            ExpandoObject item = null;

            if (data.Reader.Read())
            {
                item = autoMapper.AutoMap();
            }

            return(item);
        }
        public List <dynamic> ExecuteList(DbCommandData data)
        {
            var items = new List <dynamic>();

            var autoMapper = new DynamicTypAutoMapper(data);

            while (data.Reader.Read())
            {
                var item = autoMapper.AutoMap();

                items.Add(item);
            }

            return(items);
        }