Пример #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);
        }
Пример #2
0
        internal TList QueryNoAutoMap <TList>(DbCommandData data,
                                              Func <IDataReader, TEntity> customMapperReader,
                                              Func <dynamic, TEntity> customMapperDynamic)
            where TList : IList <TEntity>
        {
            var items = (TList)data.ContextData.EntityFactory.Create(typeof(TList));

            DynamicTypAutoMapper dynamicAutoMapper = null;

            while (data.Reader.Read())
            {
                var item = default(TEntity);

                if (customMapperReader != null)
                {
                    item = customMapperReader(data.Reader);
                }
                else if (customMapperDynamic != null)
                {
                    if (dynamicAutoMapper == null)
                    {
                        dynamicAutoMapper = new DynamicTypAutoMapper(data);
                    }

                    var dynamicObject = dynamicAutoMapper.AutoMap();
                    item = customMapperDynamic(dynamicObject);
                }

                items.Add(item);
            }

            return(items);
        }
        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);
        }
Пример #5
0
        internal TEntity ExecuteSingleNoAutoMap(DbCommandData data,
                                                Func <IDataReader, TEntity> customMapperReader,
                                                Func <dynamic, TEntity> customMapperDynamic)
        {
            var item = default(TEntity);

            if (data.Reader.Read())
            {
                if (customMapperReader != null)
                {
                    item = customMapperReader(data.Reader);
                }
                else if (customMapperDynamic != null)
                {
                    var dynamicObject = new DynamicTypAutoMapper(data).AutoMap();
                    item = customMapperDynamic(dynamicObject);
                }
            }

            return(item);
        }
Пример #6
0
        internal TList ExecuteListReader <TList>(
            DbCommandData data,
            Action <IDataReader, TEntity> customMapperReader,
            Action <dynamic, TEntity> customMapperDynamic
            )
            where TList : IList <TEntity>
        {
            var items = (TList)data.ContextData.EntityFactory.Create(typeof(TList));

            var autoMapper = new AutoMapper <TEntity>(data);

            DynamicTypAutoMapper dynamicAutoMapper = null;

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

                autoMapper.AutoMap(item);

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

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

                items.Add(item);
            }

            return(items);
        }