public MapperConfiguration(MapperConfigurationExpression configurationExpression)
        {
            _mappers             = configurationExpression.Mappers.ToArray();
            _typeMapPlanCache    = new LockingConcurrentDictionary <TypePair, TypeMap>(GetTypeMap);
            _mapPlanCache        = new LockingConcurrentDictionary <MapRequest, MapperFuncs>(CreateMapperFuncs);
            Validators           = configurationExpression.Advanced.GetValidators();
            _validator           = new ConfigurationValidator(this);
            _expressionValidator = new MapperConfigurationExpressionValidator(configurationExpression);
            ExpressionBuilder    = new ExpressionBuilder(this);

            ServiceCtor = configurationExpression.ServiceCtor;
            EnableNullPropagationForQueryMapping = configurationExpression.EnableNullPropagationForQueryMapping ?? false;
            MaxExecutionPlanDepth = configurationExpression.Advanced.MaxExecutionPlanDepth + 1;
            ResultConverters      = configurationExpression.Advanced.QueryableResultConverters.ToArray();
            Binders = configurationExpression.Advanced.QueryableBinders.ToArray();

            Configuration = new ProfileMap(configurationExpression);
            Profiles      = new[] { Configuration }.Concat(configurationExpression.Profiles.Select(p => new ProfileMap(p, configurationExpression))).ToArray();

            foreach (var beforeSealAction in configurationExpression.Advanced.BeforeSealActions)
            {
                beforeSealAction?.Invoke(this);
            }
            Seal();
        }
        public MapperConfiguration(MapperConfigurationExpression configurationExpression)
        {
            _mappers          = configurationExpression.Mappers.ToArray();
            _resolvedMaps     = new LockingConcurrentDictionary <TypePair, TypeMap>(GetTypeMap);
            _executionPlans   = new LockingConcurrentDictionary <MapRequest, Delegate>(CompileExecutionPlan);
            _validator        = new ConfigurationValidator(this, configurationExpression);
            ExpressionBuilder = new ExpressionBuilder(this);

            ServiceCtor = configurationExpression.ServiceCtor;
            EnableNullPropagationForQueryMapping = configurationExpression.EnableNullPropagationForQueryMapping ?? false;
            MaxExecutionPlanDepth = configurationExpression.Advanced.MaxExecutionPlanDepth + 1;
            ResultConverters      = configurationExpression.Advanced.QueryableResultConverters.ToArray();
            Binders = configurationExpression.Advanced.QueryableBinders.ToArray();
            RecursiveQueriesMaxDepth = configurationExpression.Advanced.RecursiveQueriesMaxDepth;

            Configuration = new ProfileMap(configurationExpression);
            Profiles      = new[] { Configuration }.Concat(configurationExpression.Profiles.Select(p => new ProfileMap(p, configurationExpression))).ToArray();

            configurationExpression.Features.Configure(this);

            foreach (var beforeSealAction in configurationExpression.Advanced.BeforeSealActions)
            {
                beforeSealAction?.Invoke(this);
            }
            Seal();
        }
        public MapperConfiguration(MapperConfigurationExpression configurationExpression, IEnumerable <IObjectMapper> mappers)
        {
            _mappers          = mappers;
            _mapPlanCache     = new LockingConcurrentDictionary <MapRequest, MapperFuncs>(CreateMapperFuncs);
            _validator        = new ConfigurationValidator(this);
            ExpressionBuilder = new ExpressionBuilder(this);

            Configuration = configurationExpression;

            Seal(Configuration);
        }
        public MapperConfiguration(MapperConfigurationExpression configurationExpression, IEnumerable <IObjectMapper> mappers)
        {
            _mappers           = mappers;
            _getTypeMap        = GetTypeMap;
            _createMapperFuncs = CreateMapperFuncs;

            _validator        = new ConfigurationValidator(this);
            ExpressionBuilder = new ExpressionBuilder(this);

            _mapperConfigurationExpression = configurationExpression;

            Seal(_mapperConfigurationExpression);
        }
Beispiel #5
0
        public MapperConfiguration(MapperConfigurationExpression configurationExpression, IEnumerable <IObjectMapper> mappers)
        {
            _mappers          = mappers;
            _mapPlanCache     = new LockingConcurrentDictionary <MapRequest, MapperFuncs>(CreateMapperFuncs);
            _validator        = new ConfigurationValidator(this);
            ExpressionBuilder = new ExpressionBuilder(this);

            ServiceCtor = configurationExpression.ServiceCtor;
            EnableNullPropagationForQueryMapping = configurationExpression.EnableNullPropagationForQueryMapping ?? false;

            Configuration = new ProfileMap(configurationExpression);
            Profiles      = new[] { Configuration }.Concat(configurationExpression.Profiles.Select(p => new ProfileMap(p, configurationExpression))).ToArray();

            Seal();
        }
Beispiel #6
0
        public MapperConfiguration(Action <IMapperConfiguration> configure, IEnumerable <IObjectMapper> mappers)
        {
            _mappers           = mappers;
            _getTypeMap        = GetTypeMap;
            _createMapperFuncs = CreateMapperFuncs;

            _defaultProfile = new NamedProfile(ProfileName);
            _profiles.Add(_defaultProfile);

            _validator        = new ConfigurationValidator(this);
            ExpressionBuilder = new ExpressionBuilder(this);

            configure(this);

            Seal();
        }