Skip to content

Upgrading AutoMapper 5 to 6

Breaking5.2.0 → 6.2.2Breaking2New34Changed20Fixed101Other10

BreakingUpgrade verdict

2 breaking changes.

  • The DoNotUseDestinationValue option is gone.
  • Global static mapper state is removed, so mappers must be configured and held explicitly.
2 items need code or config changes

Target frameworks requirement changed in 6.2.0: .NETFramework4.5, .NETStandard1.1, .NETStandard1.3 → .NETFramework4.0, .NETFramework4.5, .NETStandard1.1, .NETStandard1.3.

Breaking2
Removes DoNotUseDestinationValue.
DoNotUseDestinationValue
Avoids static state; the mapper registry is now managed through mapper configuration.
Mapper

Generated by DepDelta from published .NET assemblies. Not mixed with prose notes.

  • removed: ctor MapperConfiguration(Action<IMapperConfigurationExpression> configure, IEnumerable<IObjectMapper> mappers)
  • removed: ctor MapperConfiguration(MapperConfigurationExpression configurationExpression, IEnumerable<IObjectMapper> mappers)
  • removed: method ConstructorMap.BuildExpression(TypeMapPlanBuilder builder): Expression
  • removed: method ConstructorParameterMap.CreateExpression(TypeMapPlanBuilder builder): Expression
  • removed: method IMemberConfigurationExpression.DoNotUseDestinationValue(): void
  • removed: method IRuntimeMapper.CreateObject<TDestination>(): TDestination
  • removed: method ProfileMap.ConfigureClosedGenericTypeMap(TypeMapRegistry typeMapRegistry, TypePair closedTypes, TypePair requestedTypes): TypeMap
  • removed: method ProfileMap.ConfigureConventionTypeMap(TypeMapRegistry typeMapRegistry, TypePair types): TypeMap
  • removed: method PropertyMap.SetCustomValueResolverExpression<TSource, TMember>(Expression<Func<TSource, TMember>> sourceMember): void
  • removed: method TypeMap.ApplyInheritedMap(TypeMap inheritedTypeMap): void
  • removed: property IConfigurationProvider.Configuration: ProfileMap { get; }
  • removed: property MapperConfiguration.Configuration: ProfileMap { get; }
  • removed: property PropertyMap.CustomSourceMember: MemberInfo { get; set; }
  • removed: property ValueResolverConfiguration.Type: Type { get; }
  • removed: protected method Profile.Configure(): void
  • changed: ctor TypeMap(TypeDetails sourceType, TypeDetails destinationType, MemberList memberList, ProfileMap profile) → ctor TypeMap(TypeDetails sourceType, TypeDetails destinationType, ProfileMap profile)
  • changed: ctor ValueResolverConfiguration(Type type) → ctor ValueResolverConfiguration(Type concreteType, Type interfaceType)
  • changed: ctor ValueResolverConfiguration(object instance) → ctor ValueResolverConfiguration(object instance, Type interfaceType)
  • changed: method CtorParamConfigurationExpression.ResolveUsing(Func<TSource, ResolutionContext, object> resolver): void → method CtorParamConfigurationExpression.ResolveUsing<TMember>(Func<TSource, ResolutionContext, TMember> resolver): void
  • changed: method CtorParamConfigurationExpression.ResolveUsing(Func<TSource, object> resolver): void → method CtorParamConfigurationExpression.ResolveUsing<TMember>(Func<TSource, TMember> resolver): void
  • changed: method ICtorParamConfigurationExpression.ResolveUsing(Func<TSource, ResolutionContext, object> resolver): void → method ICtorParamConfigurationExpression.ResolveUsing<TMember>(Func<TSource, ResolutionContext, TMember> resolver): void
  • changed: method ICtorParamConfigurationExpression.ResolveUsing(Func<TSource, object> resolver): void → method ICtorParamConfigurationExpression.ResolveUsing<TMember>(Func<TSource, TMember> resolver): void
  • changed: method IObjectMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method IObjectMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ObjectMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ObjectMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method TypeMap.Seal(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider): void → method TypeMap.Seal(IConfigurationProvider configurationProvider, Stack<TypeMap> typeMapsPath = …): void
  • changed: method TypeMapFactory.CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options, MemberList memberList): TypeMap → method TypeMapFactory.CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options): TypeMap
  • changed: method TypePair.Equals(object obj): bool → method TypePair.Equals(object other): bool
  • changed: property ConstructorParameterMap.CustomValueResolver: Func<object, ResolutionContext, object> { get; set; } → property ConstructorParameterMap.CustomValueResolver: LambdaExpression { get; set; }
  • changed: property ConstructorParameterMap.DefaultValue: bool { get; } → property ConstructorParameterMap.DefaultValue: bool { get; set; }
  • changed: property PropertyMap.CustomExpression: LambdaExpression { get; } → property PropertyMap.CustomExpression: LambdaExpression { get; set; }
  • changed: property PropertyMap.SourceMembers: IEnumerable<MemberInfo> { get; } → property PropertyMap.SourceMembers: ICollection<MemberInfo> { get; }
  • changed: property ResolutionContext.InstanceCache: Dictionary<object, object> { get; } → property ResolutionContext.InstanceCache: Dictionary<ContextCacheKey, object> { get; }
  • changed: property TypeMap.ConfiguredMemberList: MemberList { get; } → property TypeMap.ConfiguredMemberList: MemberList { get; set; }
  • added: class AdvancedConfiguration
  • added: class DuplicateTypeMapConfigurationException extends Exception
  • added: class DuplicateTypeMapConfigurationException.TypeMapConfigErrors
  • added: class MapperConfigurationExpressionValidator
  • added: class PathMap
  • added: ctor AdvancedConfiguration()
  • added: ctor ConditionParameters(TSource source, TDestination destination, TMember sourceMember, TMember destinationMember, ResolutionContext context)
  • added: ctor ContextCacheKey(object source, Type destinationType)
  • added: ctor DuplicateTypeMapConfigurationException(DuplicateTypeMapConfigurationException.TypeMapConfigErrors[] errors)
  • added: ctor DuplicateTypeMapConfigurationException.TypeMapConfigErrors(TypePair types, string[] profileNames)
  • added: ctor MapRequest(TypePair requestedTypes, TypePair runtimeTypes, ITypeMapConfiguration inlineConfig)
  • added: ctor MapperConfigurationExpressionValidator(MapperConfigurationExpression expression)
  • added: ctor PathMap(LambdaExpression destinationExpression, MemberPath memberPath, TypeMap typeMap)
  • added: ctor PropertyMap(PathMap pathMap)
  • added: ctor ValidationContext(TypePair types, PropertyMap propertyMap, IObjectMapper objectMapper)
  • added: ctor ValidationContext(TypePair types, PropertyMap propertyMap, TypeMap typeMap)
  • added: ctor ValueTransformerConfiguration(Type valueType, LambdaExpression transformerExpression)
  • added: interface IObjectMapperInfo extends IObjectMapper
  • added: interface IPathConfigurationExpression<TSource, TDestination, TMember>
  • added: method AdvancedConfiguration.BeforeSeal(Action<IConfigurationProvider> action): void
  • added: method AdvancedConfiguration.Validator(Action<ValidationContext> validator): void
  • added: method ContextCacheKey.Equals(ContextCacheKey other): bool
  • added: method ContextCacheKey.Equals(object other): bool
  • added: method ContextCacheKey.GetHashCode(): int
  • added: method IConfigurationProvider.BuildExecutionPlan(MapRequest mapRequest): LambdaExpression
  • added: method IConfigurationProvider.BuildExecutionPlan(Type sourceType, Type destinationType): LambdaExpression
  • added: method IConfigurationProvider.FindMapper(TypePair types): IObjectMapper
  • added: method IConfigurationProvider.GetMapperFunc<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • added: method IConfigurationProvider.ResolveTypeMap(Type sourceType, Type destinationType, ITypeMapConfiguration inlineConfiguration): TypeMap
  • added: method IConfigurationProvider.ResolveTypeMap(TypePair typePair, ITypeMapConfiguration inlineConfiguration): TypeMap
  • added: method IConfigurationProvider.Validate(ValidationContext context): void
  • added: method IMappingExpression.AddTransform<TValue>(Expression<Func<TValue, TValue>> transformer): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.ForPath<TMember>(Expression<Func<TDestination, TMember>> destinationMember, Action<IPathConfigurationExpression<TSource, TDestination, TMember>> memberOptions): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.ValidateMemberList(MemberList memberList): IMappingExpression
  • added: method IMappingExpression.ValidateMemberList(MemberList memberList): IMappingExpression<TSource, TDestination>
  • added: method IMappingOperationOptions.ConfigureMap(): IMappingExpression<TSource, TDestination>
  • added: method IMappingOperationOptions.ConfigureMap(MemberList memberList): IMappingExpression<TSource, TDestination>
  • added: method IMemberConfigurationExpression.AddTransform(Expression<Func<TMember, TMember>> transformer): void
  • added: method IMemberConfigurationExpression.MapAtRuntime(): void
  • added: method IMemberConfigurationExpression.PreCondition(Func<TSource, ResolutionContext, bool> condition): void
  • added: method IObjectMapperInfo.GetAssociatedTypes(TypePair initialTypes): TypePair
  • added: method IPathConfigurationExpression.Condition(Func<ConditionParameters<TSource, TDestination, TMember>, bool> condition): void
  • added: method IPathConfigurationExpression.Ignore(): void
  • added: method IPathConfigurationExpression.MapFrom<TSourceMember>(Expression<Func<TSource, TSourceMember>> sourceMember): void
  • added: method MapperConfiguration.BuildExecutionPlan(MapRequest mapRequest): LambdaExpression
  • added: method MapperConfiguration.BuildExecutionPlan(Type sourceType, Type destinationType): LambdaExpression
  • added: method MapperConfiguration.FindMapper(TypePair types): IObjectMapper
  • added: method MapperConfiguration.GetMapperFunc<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • added: method MapperConfiguration.ResolveTypeMap(Type sourceType, Type destinationType, ITypeMapConfiguration inlineConfiguration): TypeMap
  • added: method MapperConfiguration.ResolveTypeMap(TypePair typePair, ITypeMapConfiguration inlineConfiguration): TypeMap
  • added: method MapperConfiguration.Validate(ValidationContext context): void
  • added: method MapperConfigurationExpressionValidator.AssertConfigurationExpressionIsValid(): void
  • added: method MappingOperationOptions.ConfigureMap(): IMappingExpression<TSource, TDestination>
  • added: method MappingOperationOptions.ConfigureMap(MemberList memberList): IMappingExpression<TSource, TDestination>
  • added: method ProfileMap.CreateClosedGenericTypeMap(ITypeMapConfiguration openMapConfig, TypeMapRegistry typeMapRegistry, TypePair closedTypes): TypeMap
  • added: method ProfileMap.CreateConventionTypeMap(TypeMapRegistry typeMapRegistry, TypePair types): TypeMap
  • added: method ProfileMap.CreateInlineMap(TypeMapRegistry typeMapRegistry, TypePair types): TypeMap
  • added: method ProfileMap.GetGenericMap(TypePair closedTypes): ITypeMapConfiguration
  • added: method ProfileMap.IsConventionMap(TypePair types): bool
  • added: method PropertyMap.AddValueTransformation(ValueTransformerConfiguration valueTransformerConfiguration): void
  • added: method PropertyMap.HasSource(): bool
  • added: method PropertyMap.MapFrom(LambdaExpression sourceMember): void
  • added: method PropertyMap.ResolveConfigured(): bool
  • added: method TypeMap.AddInheritedMap(TypeMap inheritedTypeMap): void
  • added: method TypeMap.AddValueTransformation(ValueTransformerConfiguration valueTransformerConfiguration): void
  • added: method TypeMap.FindOrCreatePathMapFor(LambdaExpression destinationExpression, MemberPath path, TypeMap typeMap): PathMap
  • added: method TypeMap.FindPathMapByDestinationPath(string destinationFullPath): PathMap
  • added: method ValueTransformerConfiguration.IsMatch(PropertyMap propertyMap): bool
  • added: property AdvancedConfiguration.AllowAdditiveTypeMapCreation: bool { get; set; }
  • added: property AdvancedConfiguration.BeforeSealActions: IEnumerable<Action<IConfigurationProvider>> { get; }
  • added: property AdvancedConfiguration.MaxExecutionPlanDepth: int { get; set; }
  • added: property ConditionParameters.Context: ResolutionContext { get; }
  • added: property ConditionParameters.Destination: TDestination { get; }
  • added: property ConditionParameters.DestinationMember: TMember { get; }
  • added: property ConditionParameters.Source: TSource { get; }
  • added: property ConditionParameters.SourceMember: TMember { get; }
  • added: property DuplicateTypeMapConfigurationException.Errors: DuplicateTypeMapConfigurationException.TypeMapConfigErrors[] { get; }
  • added: property DuplicateTypeMapConfigurationException.Message: string { get; }
  • added: property DuplicateTypeMapConfigurationException.TypeMapConfigErrors.ProfileNames: string[] { get; }
  • added: property DuplicateTypeMapConfigurationException.TypeMapConfigErrors.Types: TypePair { get; }
  • added: property IConfigurationProvider.MaxExecutionPlanDepth: int { get; }
  • added: property IMapperConfigurationExpression.Advanced: AdvancedConfiguration { get; }
  • added: property IMapperConfigurationExpression.Mappers: IList<IObjectMapper> { get; }
  • added: property IMappingExpression.ValueTransformers: IList<ValueTransformerConfiguration> { get; }
  • added: property IProfileExpression.ValidateInlineMaps: bool? { get; set; }
  • added: property IProfileExpression.ValueTransformers: IList<ValueTransformerConfiguration> { get; }
  • added: property MapRequest.InlineConfig: ITypeMapConfiguration { get; }
  • added: property MapperConfiguration.MaxExecutionPlanDepth: int { get; }
  • added: property MappingOperationOptions.InlineConfiguration: ITypeMapConfiguration { get; set; }
  • added: property PathMap.Condition: LambdaExpression { get; set; }
  • added: property PathMap.DestinationExpression: LambdaExpression { get; }
  • added: property PathMap.DestinationMember: MemberInfo { get; }
  • added: property PathMap.Ignored: bool { get; set; }
  • added: property PathMap.MemberPath: MemberPath { get; }
  • added: property PathMap.SourceExpression: LambdaExpression { get; set; }
  • added: property PathMap.TypeMap: TypeMap { get; }
  • added: property Profile.ValidateInlineMaps: bool? { get; set; }
  • added: property Profile.ValueTransformers: IList<ValueTransformerConfiguration> { get; }
  • added: property ProfileMap.ValidateInlineMaps: bool { get; }
  • added: property ProfileMap.ValueTransformers: IEnumerable<ValueTransformerConfiguration> { get; }
  • added: property PropertyMap.Inline: bool { get; set; }
  • added: property PropertyMap.ValueTransformers: IEnumerable<ValueTransformerConfiguration> { get; }
  • added: property TypeMap.IsConventionMap: bool { get; set; }
  • added: property TypeMap.IsValid: bool? { get; set; }
  • added: property TypeMap.PathMaps: IEnumerable<PathMap> { get; }
  • added: property TypeMap.ValueTransformers: IEnumerable<ValueTransformerConfiguration> { get; }
  • added: property ValidationContext.ObjectMapper: IObjectMapper { get; }
  • added: property ValidationContext.PropertyMap: PropertyMap { get; }
  • added: property ValidationContext.TypeMap: TypeMap { get; }
  • added: property ValidationContext.Types: TypePair { get; }
  • added: property ValueResolverConfiguration.ConcreteType: Type { get; }
  • added: property ValueResolverConfiguration.InterfaceType: Type { get; }
  • added: property ValueTransformerConfiguration.TransformerExpression: LambdaExpression { get; }
  • added: property ValueTransformerConfiguration.ValueType: Type { get; }
  • added: static class HashCodeCombiner
  • added: static class ValueTransformerConfigurationExtensions
  • added: static method ContextCacheKey.op_Equality(ContextCacheKey left, ContextCacheKey right): bool
  • added: static method ContextCacheKey.op_Inequality(ContextCacheKey left, ContextCacheKey right): bool
  • added: static method HashCodeCombiner.Combine<T1, T2>(T1 obj1, T2 obj2): int
  • added: static method HashCodeCombiner.CombineCodes(int h1, int h2): int
  • added: static method Mapper.Reset(): void
  • added: static method ValueTransformerConfigurationExtensions.Add<TValue>(IList<ValueTransformerConfiguration> valueTransformers, Expression<Func<TValue, TValue>> transformer): void
  • added: struct ConditionParameters<TSource, TDestination, TMember>
  • added: struct ContextCacheKey implements IEquatable<ContextCacheKey>
  • added: struct ValidationContext
  • added: struct ValueTransformerConfiguration
  • removed: method MemberConfigurationExpression.DoNotUseDestinationValue(): void
  • removed: property ITypeMapConfiguration.MemberList: MemberList { get; }
  • removed: property MappingExpression.MemberList: MemberList { get; }
  • added: class PathConfigurationExpression<TSource, TDestination, TMember> implements IPathConfigurationExpression<TSource, TDestination, TMember>, IPropertyMapConfiguration
  • added: ctor MappingExpression(MemberList memberList, TypePair types)
  • added: ctor PathConfigurationExpression(LambdaExpression destinationExpression)
  • added: method IPropertyMapConfiguration.Reverse(): IPropertyMapConfiguration
  • added: method MappingExpression.AddTransform<TValue>(Expression<Func<TValue, TValue>> transformer): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.ForPath<TMember>(Expression<Func<TDestination, TMember>> destinationMember, Action<IPathConfigurationExpression<TSource, TDestination, TMember>> memberOptions): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.ValidateMemberList(MemberList memberList): IMappingExpression
  • added: method MappingExpression.ValidateMemberList(MemberList memberList): IMappingExpression<TSource, TDestination>
  • added: method MemberConfigurationExpression.AddTransform(Expression<Func<TMember, TMember>> transformer): void
  • added: method MemberConfigurationExpression.MapAtRuntime(): void
  • added: method MemberConfigurationExpression.PreCondition(Func<TSource, ResolutionContext, bool> condition): void
  • added: method MemberConfigurationExpression.Reverse(): IPropertyMapConfiguration
  • added: method PathConfigurationExpression.Condition(Func<ConditionParameters<TSource, TDestination, TMember>, bool> condition): void
  • added: method PathConfigurationExpression.Configure(TypeMap typeMap): void
  • added: method PathConfigurationExpression.Ignore(): void
  • added: method PathConfigurationExpression.MapFrom<TSourceMember>(Expression<Func<TSource, TSourceMember>> sourceExpression): void
  • added: method PathConfigurationExpression.MapFromUntyped(LambdaExpression sourceExpression): void
  • added: method PathConfigurationExpression.Reverse(): IPropertyMapConfiguration
  • added: property IProfileConfiguration.ValidateInlineMaps: bool? { get; }
  • added: property IProfileConfiguration.ValueTransformers: IEnumerable<ValueTransformerConfiguration> { get; }
  • added: property MapperConfigurationExpression.Advanced: AdvancedConfiguration { get; }
  • added: property MapperConfigurationExpression.Mappers: IList<IObjectMapper> { get; }
  • added: property MappingExpression.ValueTransformers: IList<ValueTransformerConfiguration> { get; }
  • added: property PathConfigurationExpression.DestinationMember: MemberInfo { get; }
  • added: property PathConfigurationExpression.MemberPath: MemberPath { get; }
  • added: protected property PathConfigurationExpression.PathMapActions: List<Action<PathMap>> { get; }
  • added: static class PrimitiveHelper
  • added: static method PrimitiveHelper.GetDictionaryType(Type type): Type
  • added: static method PrimitiveHelper.GetFieldOrProperty(Type type, string name): MemberInfo
  • added: static method PrimitiveHelper.GetGenericElementType(Type type): Type
  • added: static method PrimitiveHelper.GetGenericInterface(Type type, Type genericInterface): Type
  • added: static method PrimitiveHelper.GetIEnumerableType(Type type): Type
  • added: static method PrimitiveHelper.GetInheritedMember(Type type, string name): MemberInfo
  • added: static method PrimitiveHelper.GetInheritedMethod(Type type, string name): MethodInfo
  • added: static method PrimitiveHelper.GetOrDefault<TKey, TValue>(IDictionary<TKey, TValue> dictionary, TKey key): TValue
  • added: static method PrimitiveHelper.GetTypeOfNullable(Type type): Type
  • added: static method PrimitiveHelper.ImplementsGenericInterface(Type type, Type interfaceType): bool
  • added: static method PrimitiveHelper.IsCollectionType(Type type): bool
  • added: static method PrimitiveHelper.IsDictionaryType(Type type): bool
  • added: static method PrimitiveHelper.IsEnumerableType(Type type): bool
  • added: static method PrimitiveHelper.IsGenericType(Type type, Type genericType): bool
  • added: static method PrimitiveHelper.IsListOrDictionaryType(Type type): bool
  • added: static method PrimitiveHelper.IsListType(Type type): bool
  • added: static method PrimitiveHelper.IsNullableType(Type type): bool
  • added: static method PrimitiveHelper.IsQueryableType(Type type): bool
  • removed: ctor DelegateFactory()
  • removed: ctor ProxyGenerator()
  • removed: delegate LateBoundCtor(): object
  • removed: delegate LateBoundFieldGet<TSource, TValue>(TSource target): TValue
  • removed: delegate LateBoundFieldSet<TSource, TValue>(TSource target, TValue value): void
  • removed: delegate LateBoundMethod<TSource, TValue>(TSource target, object[] arguments): TValue
  • removed: delegate LateBoundParamsCtor(object[] parameters): object
  • removed: delegate LateBoundPropertyGet<TSource, TValue>(TSource target): TValue
  • removed: delegate LateBoundPropertySet<TSource, TValue>(TSource target, TValue value): void
  • removed: delegate LateBoundValueTypeFieldSet(ref object target, object value): void
  • removed: delegate LateBoundValueTypePropertySet(ref object target, object value): void
  • removed: interface IProxyGenerator
  • removed: method DelegateFactory.CreateGet<TValue>(MethodInfo method): Expression<LateBoundMethod<object, TValue>>
  • removed: method IProxyGenerator.GetProxyType(Type interfaceType): Type
  • removed: method TypeMapPlanBuilder.MapExpression(TypePair typePair, Expression sourceParameter, PropertyMap propertyMap = …, Expression destinationParameter = …): Expression
  • removed: static method TypeMapPlanBuilder.CheckContext(TypeMap typeMap, Expression context): ConditionalExpression
  • removed: static method TypeMapPlanBuilder.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, TypePair typePair, Expression sourceParameter, Expression contextParameter, PropertyMap propertyMap = …, Expression destinationParameter = …): Expression
  • changed: class DelegateFactory → static class DelegateFactory
  • changed: class ProxyGenerator implements IProxyGenerator → static class ProxyGenerator
  • changed: ctor PropertyEmitter(TypeBuilder owner, string name, Type propertyType, FieldBuilder propertyChangedField) → ctor PropertyEmitter(TypeBuilder owner, PropertyDescription property, FieldBuilder propertyChangedField)
  • changed: ctor ProxyBase() → protected ctor ProxyBase()
  • changed: ctor TypeMapPlanBuilder(IConfigurationProvider configurationProvider, TypeMapRegistry typeMapRegistry, TypeMap typeMap) → ctor TypeMapPlanBuilder(IConfigurationProvider configurationProvider, TypeMap typeMap)
  • changed: method DelegateFactory.CreateCtor(Type type): LateBoundCtor → static method DelegateFactory.CreateCtor(Type type): Func<object>
  • changed: method ProxyGenerator.GetProxyType(Type interfaceType): Type → static method ProxyGenerator.GetProxyType(Type interfaceType): Type
  • changed: method TypeMapPlanBuilder.CreateMapperLambda(): LambdaExpression → method TypeMapPlanBuilder.CreateMapperLambda(Stack<TypeMap> typeMapsPath): LambdaExpression
  • added: ctor PropertyDescription(PropertyInfo property)
  • added: ctor PropertyDescription(string name, Type type, bool canWrite = …)
  • added: ctor TypeDescription(Type type)
  • added: ctor TypeDescription(Type type, IEnumerable<PropertyDescription> additionalProperties)
  • added: method PropertyDescription.Equals(PropertyDescription other): bool
  • added: method PropertyDescription.Equals(object other): bool
  • added: method PropertyDescription.GetHashCode(): int
  • added: method TypeDescription.Equals(TypeDescription other): bool
  • added: method TypeDescription.Equals(object other): bool
  • added: method TypeDescription.GetHashCode(): int
  • added: property PropertyDescription.CanWrite: bool { get; }
  • added: property PropertyDescription.Name: string { get; }
  • added: property PropertyDescription.Type: Type { get; }
  • added: property TypeDescription.AdditionalProperties: PropertyDescription[] { get; }
  • added: property TypeDescription.Type: Type { get; }
  • added: static class ExpressionBuilder
  • added: static method DelegateFactory.GenerateConstructorExpression(Type type, ProfileMap configuration): Expression
  • added: static method DelegateFactory.GenerateNonNullConstructorExpression(Type type): Expression
  • added: static method ExpressionBuilder.CheckContext(TypeMap typeMap, Expression context): ConditionalExpression
  • added: static method ExpressionBuilder.ContextMap(TypePair typePair, Expression sourceParameter, Expression contextParameter, Expression destinationParameter): Expression
  • added: static method ExpressionBuilder.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, TypePair typePair, Expression sourceParameter, Expression contextParameter, PropertyMap propertyMap = …, Expression destinationParameter = …): Expression
  • added: static method ExpressionBuilder.NullCheckSource(ProfileMap profileMap, Expression sourceParameter, Expression destinationParameter, Expression objectMapperExpression, PropertyMap propertyMap = …): Expression
  • added: static method PropertyDescription.op_Equality(PropertyDescription left, PropertyDescription right): bool
  • added: static method PropertyDescription.op_Inequality(PropertyDescription left, PropertyDescription right): bool
  • added: static method ProxyGenerator.GetSimilarType(Type sourceType, IEnumerable<PropertyDescription> additionalProperties): Type
  • added: static method TypeDescription.op_Equality(TypeDescription left, TypeDescription right): bool
  • added: static method TypeDescription.op_Inequality(TypeDescription left, TypeDescription right): bool
  • added: struct PropertyDescription implements IEquatable<PropertyDescription>
  • added: struct TypeDescription implements IEquatable<TypeDescription>
  • added: class MemberVisitor extends ExpressionVisitor
  • added: ctor MemberPath(IEnumerable<MemberInfo> members)
  • added: ctor MemberVisitor()
  • added: method MemberPath.Equals(MemberPath other): bool
  • added: method MemberPath.Equals(object obj): bool
  • added: method MemberPath.GetHashCode(): int
  • added: property MemberPath.First: MemberInfo { get; }
  • added: property MemberPath.Last: MemberInfo { get; }
  • added: property MemberPath.Length: int { get; }
  • added: property MemberPath.Members: MemberInfo[] { get; }
  • added: property MemberVisitor.MemberPath: IEnumerable<MemberInfo> { get; }
  • added: protected method MemberVisitor.VisitMember(MemberExpression node): Expression
  • added: static class ExpressionFactory
  • added: static class ReflectionHelper
  • added: static method ExpressionFactory.Concat(LambdaExpression expr, LambdaExpression concat): LambdaExpression
  • added: static method ExpressionFactory.ConvertReplaceParameters(LambdaExpression exp, Expression[] replace): Expression
  • added: static method ExpressionFactory.For(Expression count, Func<Expression, Expression> body): Expression
  • added: static method ExpressionFactory.ForEach(Expression collection, ParameterExpression loopVar, Expression loopContent): Expression
  • added: static method ExpressionFactory.ForEachArrayItem(Expression array, Func<Expression, Expression> body): Expression
  • added: static method ExpressionFactory.GetSetter(MemberExpression memberExpression): Expression
  • added: static method ExpressionFactory.IfNullElse(Expression expression, Expression then, Expression else = …): Expression
  • added: static method ExpressionFactory.MemberAccesses(string members, Expression obj): MemberExpression
  • added: static method ExpressionFactory.Method<T>(Expression<Func<T>> expression): MethodInfo
  • added: static method ExpressionFactory.Method<TType, TResult>(Expression<Func<TType, TResult>> expression): MethodInfo
  • added: static method ExpressionFactory.NullCheck(Expression expression, Type destinationType): Expression
  • added: static method ExpressionFactory.Replace(Expression exp, Expression old, Expression replace): Expression
  • added: static method ExpressionFactory.ReplaceParameters(LambdaExpression exp, Expression[] replace): Expression
  • added: static method ExpressionFactory.ToObject(Expression expression): Expression
  • added: static method ExpressionFactory.ToType(Expression expression, Type type): Expression
  • added: static method MemberPath.op_Equality(MemberPath left, MemberPath right): bool
  • added: static method MemberPath.op_Inequality(MemberPath left, MemberPath right): bool
  • added: static method MemberVisitor.GetMemberPath(Expression expression): IEnumerable<MemberInfo>
  • added: static method ReflectionHelper.CanBeSet(MemberInfo propertyOrField): bool
  • added: static method ReflectionHelper.FindProperty(LambdaExpression lambdaExpression): MemberInfo
  • added: static method ReflectionHelper.GetDefaultValue(ParameterInfo parameter): object
  • added: static method ReflectionHelper.GetFieldOrProperty(LambdaExpression expression): MemberInfo
  • added: static method ReflectionHelper.GetMemberPath(Type type, string fullMemberName): IEnumerable<MemberInfo>
  • added: static method ReflectionHelper.GetMemberType(MemberInfo memberInfo): Type
  • added: static method ReflectionHelper.GetMemberValue(MemberInfo propertyOrField, object target): object
  • added: static method ReflectionHelper.IsDynamic(Type type): bool
  • added: static method ReflectionHelper.IsDynamic(object obj): bool
  • added: static method ReflectionHelper.MapMember(ResolutionContext context, MemberInfo member, object value): object
  • added: static method ReflectionHelper.MapMember(ResolutionContext context, MemberInfo member, object value, object destination): object
  • added: static method ReflectionHelper.ReplaceItemType(Type targetType, Type oldType, Type newType): Type
  • added: static method ReflectionHelper.SetMemberValue(MemberInfo propertyOrField, object target, object value): void
  • added: struct MemberPath implements IEquatable<MemberPath>
  • removed: class MultidimensionalArrayFiller
  • removed: ctor MultidimensionalArrayFiller(Array destination)
  • removed: delegate CollectionMapperExtensions.MapItem(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • removed: enum ElementTypeFlags
  • removed: member ElementTypeFlags.BreakKeyValuePair
  • removed: member ElementTypeFlags.None
  • removed: method MultidimensionalArrayFiller.NewValue(object value): void
  • removed: static class CollectionMapperExtensions
  • removed: static class MapperRegistry
  • removed: static class ObjectCreator
  • removed: static method ArrayMapper.Map<TSource, TDestination>(IEnumerable<TSource> source, ResolutionContext context, Func<TSource, ResolutionContext, TDestination> newItemFunc): TDestination[]
  • removed: static method EnumToUnderlyingTypeMapper.Map<TSource, TDestination>(TSource source): TDestination
  • removed: static method ExpressionMapper.Map<TSource, TDestination>(TSource expression, ResolutionContext context): TDestination
  • removed: static method FlagsEnumMapper.Map<TSource, TDestination>(TSource source, Func<TDestination> ifNull): TDestination
  • removed: static method FromDynamicMapper.Map<TSource, TDestination>(TSource source, TDestination destination, ResolutionContext context, Func<TDestination> ifNull): TDestination
  • removed: static method MapperRegistry.Reset(): void
  • removed: static method MultidimensionalArrayMapper.Map<TDestination, TSource, TSourceElement>(TSource source, ResolutionContext context, bool allowNullCollections, bool allowNullDestinationValues): Array
  • removed: static method NameValueCollectionMapper.Map(NameValueCollection source): NameValueCollection
  • removed: static method NullableSourceMapper.Map<TSource, TDestination>(TSource? source, TDestination destination, ResolutionContext context): TDestination
  • removed: static method ObjectCreator.CreateArray(Type elementType, Array sourceArray): Array
  • removed: static method ObjectCreator.CreateArray(Type elementType, int length): Array
  • removed: static method ObjectCreator.CreateDefaultValue(Type type): object
  • removed: static method ObjectCreator.CreateDictionary(Type dictionaryType, Type keyType, Type valueType): object
  • removed: static method ObjectCreator.CreateList(Type elementType): IList
  • removed: static method ObjectCreator.CreateNonNullValue(Type type): object
  • removed: static method ObjectCreator.CreateObject(Type type): object
  • removed: static method ToStringDictionaryMapper.MembersDictionary(object source, ResolutionContext context): Dictionary<string, object>
  • removed: static property MapperRegistry.Mappers: IList<IObjectMapper> { get; }
  • removed: static readonly field ObjectCreator.DelegateFactory: DelegateFactory
  • changed: class ArrayMapper implements IObjectMapper → class ArrayMapper extends EnumerableMapperBase
  • changed: class CollectionMapper implements IObjectMapper → class CollectionMapper extends EnumerableMapperBase
  • changed: class EnumerableMapper implements IObjectMapper → class EnumerableMapper extends EnumerableMapperBase
  • changed: class NullableSourceMapper implements IObjectMapper → class NullableSourceMapper implements IObjectMapper, IObjectMapperInfo
  • changed: method ArrayMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ArrayMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method AssignableMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method AssignableMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method CollectionMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method CollectionMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ConvertMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ConvertMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method DictionaryMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method DictionaryMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method EnumToEnumMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method EnumToEnumMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method EnumToUnderlyingTypeMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method EnumToUnderlyingTypeMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method EnumerableMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method EnumerableMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method EnumerableToDictionaryMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method EnumerableToDictionaryMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ExplicitConversionOperatorMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ExplicitConversionOperatorMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ExpressionMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ExpressionMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method FlagsEnumMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method FlagsEnumMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method FromDynamicMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method FromDynamicMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method FromStringDictionaryMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method FromStringDictionaryMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method HashSetMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method HashSetMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ImplicitConversionOperatorMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ImplicitConversionOperatorMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method MultidimensionalArrayMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method MultidimensionalArrayMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method NameValueCollectionMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method NameValueCollectionMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method NullableSourceMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method NullableSourceMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ReadOnlyCollectionMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ReadOnlyCollectionMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method StringMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method StringMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method StringToEnumMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method StringToEnumMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ToDynamicMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ToDynamicMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method ToStringDictionaryMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method ToStringDictionaryMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: method TypeConverterMapper.MapExpression(TypeMapRegistry typeMapRegistry, IConfigurationProvider configurationProvider, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression → method TypeConverterMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • changed: static method ToDynamicMapper.Map<TSource, TDestination>(TSource source, TDestination destination, ResolutionContext context, Func<TDestination> ifNull): TDestination → static method ToDynamicMapper.Map<TSource, TDestination>(TSource source, TDestination destination, ResolutionContext context, ProfileMap profileMap): TDestination
  • added: abstract class EnumerableMapperBase implements IObjectMapper, IObjectMapperInfo
  • added: class EnumToStringMapper implements IObjectMapper
  • added: class MultidimensionalArrayMapper.MultidimensionalArrayFiller
  • added: class NullableDestinationMapper implements IObjectMapper, IObjectMapperInfo
  • added: class UnderlyingTypeToEnumMapper implements IObjectMapper
  • added: ctor EnumToStringMapper()
  • added: ctor MultidimensionalArrayMapper.MultidimensionalArrayFiller(Array destination)
  • added: ctor NullableDestinationMapper()
  • added: ctor UnderlyingTypeToEnumMapper()
  • added: method EnumToStringMapper.IsMatch(TypePair context): bool
  • added: method EnumToStringMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • added: method EnumerableMapperBase.GetAssociatedTypes(TypePair initialTypes): TypePair
  • added: method EnumerableMapperBase.IsMatch(TypePair context): bool
  • added: method EnumerableMapperBase.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • added: method MultidimensionalArrayMapper.MultidimensionalArrayFiller.NewValue(object value): void
  • added: method NullableDestinationMapper.GetAssociatedTypes(TypePair initialTypes): TypePair
  • added: method NullableDestinationMapper.IsMatch(TypePair context): bool
  • added: method NullableDestinationMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • added: method NullableSourceMapper.GetAssociatedTypes(TypePair initialTypes): TypePair
  • added: method UnderlyingTypeToEnumMapper.IsMatch(TypePair context): bool
  • added: method UnderlyingTypeToEnumMapper.MapExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression): Expression
  • added: protected ctor EnumerableMapperBase()
  • added: delegate CollectionMapperExpressionFactory.MapItem(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • added: enum ElementTypeFlags
  • added: member ElementTypeFlags.BreakKeyValuePair
  • added: member ElementTypeFlags.None
  • added: static class CollectionMapperExpressionFactory
  • added: static class ElementTypeHelper
  • added: static method CollectionMapperExpressionFactory.MapCollectionExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, PropertyMap propertyMap, Expression sourceExpression, Expression destExpression, Expression contextExpression, Type ifInterfaceType, CollectionMapperExpressionFactory.MapItem mapItem): Expression
  • added: static method CollectionMapperExpressionFactory.MapItemExpr(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • added: static method CollectionMapperExpressionFactory.MapKeyPairValueExpr(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • added: static method ElementTypeHelper.GetElementType(Type enumerableType): Type
  • added: static method ElementTypeHelper.GetElementType(Type enumerableType, IEnumerable enumerable): Type
  • added: static method ElementTypeHelper.GetElementTypes(Type enumerableType, ElementTypeFlags flags = …): Type[]
  • added: static method ElementTypeHelper.GetElementTypes(Type enumerableType, IEnumerable enumerable, ElementTypeFlags flags = …): Type[]
  • added: static method ElementTypeHelper.GetEnumerationType(Type enumType): Type
  • removed: method ExpressionBuilder.CreateMapExpression(ExpressionRequest request, IDictionary<ExpressionRequest, int> typePairCount): LambdaExpression
  • removed: method ExpressionBuilder.CreateMapExpression(Type sourceType, Type destinationType, IDictionary<string, object> parameters = …, MemberInfo[] membersToExpand): Expression
  • removed: method ExpressionBuilder.CreateMapExpression<TSource, TDestination>(IDictionary<string, object> parameters = …, MemberInfo[] membersToExpand): Expression<Func<TSource, TDestination>>
  • removed: method IExpressionBuilder.CreateMapExpression(Type sourceType, Type destinationType, IDictionary<string, object> parameters = …, MemberInfo[] membersToExpand): Expression
  • removed: method IExpressionBuilder.CreateMapExpression<TSource, TDestination>(IDictionary<string, object> parameters = …, MemberInfo[] membersToExpand): Expression<Func<TSource, TDestination>>
  • changed: method ExpressionBuilder.CreateMapExpression(ExpressionRequest request): LambdaExpression → method ExpressionBuilder.CreateMapExpression(ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): Expression
  • changed: method ExpressionBuilder.CreateMapExpression(ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount): Expression → method ExpressionBuilder.CreateMapExpression(ExpressionRequest request, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): LambdaExpression[]
  • changed: method IExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method IExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • changed: method IExpressionBuilder.CreateMapExpression(ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount): Expression → method IExpressionBuilder.CreateMapExpression(ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): Expression
  • changed: method IExpressionBuilder.CreateMapExpression(ExpressionRequest request, IDictionary<ExpressionRequest, int> typePairCount): LambdaExpression → method IExpressionBuilder.CreateMapExpression(ExpressionRequest request, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): LambdaExpression[]
  • changed: method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): ExpressionResolutionResult → method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • added: class ExpressionBuilder.FirstPassLetPropertyMaps extends LetPropertyMaps
  • added: class LetPropertyMaps
  • added: ctor ExpressionBuilder.FirstPassLetPropertyMaps(IConfigurationProvider configurationProvider)
  • added: ctor LetPropertyMaps.PropertyPath(PropertyMap[] propertyMaps, Expression marker)
  • added: ctor QueryExpressions(Expression first, Expression second = …, ParameterExpression secondParameter = …)
  • added: method ExpressionBuilder.FirstPassLetPropertyMaps.GetSubQueryExpression(ExpressionBuilder builder, Expression projection, TypeMap typeMap, ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount): QueryExpressions
  • added: method ExpressionBuilder.FirstPassLetPropertyMaps.GetSubQueryMarker(): Expression
  • added: method ExpressionBuilder.FirstPassLetPropertyMaps.New(): LetPropertyMaps
  • added: method ExpressionBuilder.FirstPassLetPropertyMaps.Pop(): void
  • added: method ExpressionBuilder.FirstPassLetPropertyMaps.Push(PropertyMap propertyMap): void
  • added: method ExpressionBuilder.GetMapExpression(Type sourceType, Type destinationType, IDictionary<string, object> parameters, MemberInfo[] membersToExpand): LambdaExpression[]
  • added: method IExpressionBuilder.GetMapExpression(Type sourceType, Type destinationType, IDictionary<string, object> parameters, MemberInfo[] membersToExpand): LambdaExpression[]
  • added: method LetPropertyMaps.GetSubQueryExpression(ExpressionBuilder builder, Expression projection, TypeMap typeMap, ExpressionRequest request, Expression instanceParameter, IDictionary<ExpressionRequest, int> typePairCount): QueryExpressions
  • added: method LetPropertyMaps.GetSubQueryMarker(): Expression
  • added: method LetPropertyMaps.New(): LetPropertyMaps
  • added: method LetPropertyMaps.Pop(): void
  • added: method LetPropertyMaps.Push(PropertyMap propertyMap): void
  • added: property ExpressionBuilder.FirstPassLetPropertyMaps.Count: int { get; }
  • added: property LetPropertyMaps.Count: int { get; }
  • added: property LetPropertyMaps.PropertyPath.Last: PropertyMap { get; }
  • added: property LetPropertyMaps.PropertyPath.Marker: Expression { get; }
  • added: property LetPropertyMaps.PropertyPath.PropertyMaps: PropertyMap[] { get; }
  • added: property QueryExpressions.First: Expression { get; }
  • added: property QueryExpressions.Second: Expression { get; }
  • added: property QueryExpressions.SecondParameter: ParameterExpression { get; }
  • added: protected ctor LetPropertyMaps()
  • added: static class ExpressionBuilderExtensions
  • added: static method ExpressionBuilderExtensions.GetMapExpression<TSource, TDestination>(IExpressionBuilder expressionBuilder): Expression<Func<TSource, TDestination>>
  • added: static method ProjectionExpression.GetMemberPaths(Type type, string[] membersToExpand): IEnumerable<IEnumerable<MemberInfo>>
  • added: static method ProjectionExpression.GetMemberPaths<TResult>(Expression<Func<TResult, object>>[] membersToExpand): IEnumerable<IEnumerable<MemberInfo>>
  • added: static readonly field LetPropertyMaps.Default: LetPropertyMaps
  • added: struct LetPropertyMaps.PropertyPath
  • added: struct QueryExpressions
  • removed: class NullableExpressionBinder implements IExpressionBinder
  • removed: class ParameterReplacementVisitor extends ExpressionVisitor
  • removed: ctor NullableExpressionBinder()
  • removed: ctor ParameterReplacementVisitor(Expression memberExpression)
  • removed: method NullableExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • removed: method NullableExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • removed: protected method ParameterReplacementVisitor.VisitParameter(ParameterExpression node): Expression
  • changed: method AssignableExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method AssignableExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • changed: method CustomProjectionExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method CustomProjectionExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • changed: method EnumerableExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method EnumerableExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • changed: method MappedTypeExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method MappedTypeExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • changed: method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): ExpressionResolutionResult → method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • changed: method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): ExpressionResolutionResult → method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • changed: method StringExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment → method StringExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • added: class NullableDestinationExpressionBinder implements IExpressionBinder
  • added: ctor NullableDestinationExpressionBinder()
  • added: method NullableDestinationExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • added: method NullableDestinationExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: static method QueryMapperHelper.GetPropertyMapByDestinationProperty(TypeMap typeMap, string destinationPropertyName): PropertyMap
  • added: static method QueryMapperHelper.PropertyConfigurationException(TypeMap typeMap, string[] unmappedPropertyNames): Exception
  • added: class MapIncludesVisitor extends XpressionMapperVisitor
  • added: class MapperInfoDictionary extends Dictionary<ParameterExpression, MapperInfo>
  • added: class ParameterExpressionEqualityComparer implements IEqualityComparer<ParameterExpression>
  • added: class XpressionMapperVisitor extends ExpressionVisitor
  • added: ctor MapIncludesVisitor(IConfigurationProvider configurationProvider, Dictionary<Type, Type> typeMappings)
  • added: ctor MapperInfoDictionary(ParameterExpressionEqualityComparer comparer)
  • added: ctor ParameterExpressionEqualityComparer()
  • added: ctor XpressionMapperVisitor(IConfigurationProvider configurationProvider, Dictionary<Type, Type> typeMappings)
  • added: method MapperInfoDictionary.Add(ParameterExpression key, Dictionary<Type, Type> typeMappings): void
  • added: method ParameterExpressionEqualityComparer.Equals(ParameterExpression x, ParameterExpression y): bool
  • added: method ParameterExpressionEqualityComparer.GetHashCode(ParameterExpression obj): int
  • added: property XpressionMapperVisitor.InfoDictionary: MapperInfoDictionary { get; }
  • added: property XpressionMapperVisitor.TypeMappings: Dictionary<Type, Type> { get; }
  • added: protected method MapIncludesVisitor.VisitMember(MemberExpression node): Expression
  • added: protected method MapIncludesVisitor.VisitUnary(UnaryExpression node): Expression
  • added: protected method XpressionMapperVisitor.BuildFullName(List<PropertyMapInfo> propertyMapInfoList): string
  • added: protected method XpressionMapperVisitor.FindDestinationFullName(Type typeSource, Type typeDestination, string sourceFullName, List<PropertyMapInfo> propertyMapInfoList): void
  • added: protected method XpressionMapperVisitor.VisitConstant(ConstantExpression node): Expression
  • added: protected method XpressionMapperVisitor.VisitMember(MemberExpression node): Expression
  • added: protected method XpressionMapperVisitor.VisitMethodCall(MethodCallExpression node): Expression
  • added: protected method XpressionMapperVisitor.VisitParameter(ParameterExpression parameterExpression): Expression
  • added: protected property XpressionMapperVisitor.ConfigurationProvider: IConfigurationProvider { get; }
  • added: static class MapperExtensions
  • added: static method MapperExtensions.AddTypeMapping(Dictionary<Type, Type> typeMappings, Type sourceType, Type destType): Dictionary<Type, Type>
  • added: static method MapperExtensions.AddTypeMapping<TSource, TDest>(Dictionary<Type, Type> typeMappings): Dictionary<Type, Type>
  • added: static method MapperExtensions.GetDestinationParameterExpressions(LambdaExpression expression, MapperInfoDictionary infoDictionary, Dictionary<Type, Type> typeMappings): List<ParameterExpression>
  • added: static method MapperExtensions.MapExpression<TDestDelegate>(IMapper mapper, LambdaExpression expression): TDestDelegate
  • added: static method MapperExtensions.MapExpression<TSourceDelegate, TDestDelegate>(IMapper mapper, TSourceDelegate expression): TDestDelegate
  • added: static method MapperExtensions.MapExpressionAsInclude<TDestDelegate>(IMapper mapper, LambdaExpression expression): TDestDelegate
  • added: static method MapperExtensions.MapExpressionAsInclude<TSourceDelegate, TDestDelegate>(IMapper mapper, TSourceDelegate expression): TDestDelegate
  • added: static method MapperExtensions.MapExpressionList<TDestDelegate>(IMapper mapper, IEnumerable<LambdaExpression> collection): ICollection<TDestDelegate>
  • added: static method MapperExtensions.MapExpressionList<TSourceDelegate, TDestDelegate>(IMapper mapper, ICollection<TSourceDelegate> collection): ICollection<TDestDelegate>
  • added: static method MapperExtensions.MapIncludesList<TDestDelegate>(IMapper mapper, IEnumerable<LambdaExpression> collection): ICollection<TDestDelegate>
  • added: static method MapperExtensions.MapIncludesList<TSourceDelegate, TDestDelegate>(IMapper mapper, ICollection<TSourceDelegate> collection): ICollection<TDestDelegate>
  • added: class MapperInfo
  • added: class PropertyMapInfo
  • added: ctor MapperInfo()
  • added: ctor MapperInfo(ParameterExpression newParameter, Type sourceType, Type destType)
  • added: ctor PropertyMapInfo(LambdaExpression customExpression, List<MemberInfo> destinationPropertyInfos)
  • added: property MapperInfo.DestType: Type { get; set; }
  • added: property MapperInfo.NewParameter: ParameterExpression { get; set; }
  • added: property MapperInfo.SourceType: Type { get; set; }
  • added: property PropertyMapInfo.CustomExpression: LambdaExpression { get; set; }
  • added: property PropertyMapInfo.DestinationPropertyInfos: List<MemberInfo> { get; set; }