Upgrading AutoMapper 5 to 6
Breaking5.2.0 → 6.2.2Breaking2New34Changed20Fixed101Other10
BreakingUpgrade verdict
2 breaking changes.
In plain terms
- The DoNotUseDestinationValue option is gone.
- Global static mapper state is removed, so mappers must be configured and held explicitly.
Must act 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.
What you must change
Breaking2
Removes DoNotUseDestinationValue.
DoNotUseDestinationValueAvoids static state; the mapper registry is now managed through mapper configuration.
MapperAPI changes
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; }