Skip to content

Upgrading AutoMapper 9 to 10

Review needed9.0.0 → 10.1.1New10Changed6Fixed12Other11

Review neededUpgrade verdict

6 changed defaults.

  • Nothing in this range needs changes to your code. It adds features and fixes.
Nothing to change

No breaking, platform, security or deprecated items in this range.

AutoMapper publishes an official migration guide for version 10. It covers more than the release notes do.

Migration guide ↗

Nothing in this upgrade needs a code or configuration change.

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

  • removed: class MapperConfigurationExpressionValidator
  • removed: class MemberFinderVisitor extends ExpressionVisitor
  • removed: ctor MapperConfigurationExpressionValidator(MapperConfigurationExpression expression)
  • removed: ctor MemberFinderVisitor()
  • removed: ctor ResolutionContext(IMappingOperationOptions options, IRuntimeMapper mapper)
  • removed: method ConstructorMap.NewExpression(Expression instanceParameter): Expression
  • removed: method IConfigurationProvider.GetMapperFunc(MapRequest request): Delegate
  • removed: method IConfigurationProvider.GetMapperFunc<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • removed: method IConfigurationProvider.GetMapperFunc<TSource, TDestination>(TypePair types, IMemberMap memberMap = …): Func<TSource, TDestination, ResolutionContext, TDestination>
  • removed: method IConfigurationProvider.GetUntypedMapperFunc(MapRequest mapRequest): Func<object, object, ResolutionContext, object>
  • removed: method IConfigurationProvider.Validate(ValidationContext context): void
  • removed: method IMapper.Map(object source, object destination, Type sourceType, Type destinationType, Action<IMappingOperationOptions> opts): object
  • removed: method IMapper.Map<TDestination>(object source): TDestination
  • removed: method IMapper.Map<TDestination>(object source, Action<IMappingOperationOptions> opts): TDestination
  • removed: method IMapper.Map<TSource, TDestination>(TSource source): TDestination
  • removed: method IMapper.Map<TSource, TDestination>(TSource source, TDestination destination): TDestination
  • removed: method IRuntimeMapper.Map(object source, object destination, Type sourceType, Type destinationType, ResolutionContext context, IMemberMap memberMap = …): object
  • removed: method IRuntimeMapper.Map<TSource, TDestination>(TSource source, TDestination destination, ResolutionContext context, IMemberMap memberMap = …): TDestination
  • removed: method Mapper.Map<TDestination>(object source, Action<IMappingOperationOptions> opts): TDestination
  • removed: method Mapper.Map<TSource, TDestination>(TSource source, TDestination destination, ResolutionContext context, IMemberMap memberMap): TDestination
  • removed: method MapperConfiguration.GetMapperFunc(MapRequest mapRequest): Delegate
  • removed: method MapperConfiguration.GetMapperFunc<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • removed: method MapperConfiguration.GetMapperFunc<TSource, TDestination>(TypePair types, IMemberMap memberMap = …): Func<TSource, TDestination, ResolutionContext, TDestination>
  • removed: method MapperConfiguration.GetUntypedMapperFunc(MapRequest mapRequest): Func<object, object, ResolutionContext, object>
  • removed: method MapperConfiguration.Validate(ValidationContext context): void
  • removed: method MapperConfigurationExpressionValidator.AssertConfigurationExpressionIsValid(): void
  • removed: method ProfileMap.MapDestinationCtorToSource(TypeMap typeMap, ConstructorInfo destCtor, TypeDetails sourceTypeInfo, List<ICtorParameterConfiguration> ctorParamConfigurations): bool
  • removed: method PropertyMap.MapFrom(LambdaExpression sourceMember): void
  • removed: method PropertyMap.MapFrom(string propertyOrField): void
  • removed: method TypeMap.GetUntypedIncludedMembers(): LambdaExpression[]
  • removed: property DefaultMemberMap.CustomSource: LambdaExpression { get; set; }
  • removed: property IMemberMap.CustomSource: LambdaExpression { get; }
  • removed: property IRuntimeMapper.DefaultContext: ResolutionContext { get; }
  • removed: property Mapper.DefaultContext: ResolutionContext { get; }
  • removed: property MemberFinderVisitor.Member: MemberExpression { get; }
  • removed: property PathMap.CustomSource: LambdaExpression { get; set; }
  • removed: property PropertyMap.CustomSource: LambdaExpression { get; set; }
  • removed: property ResolutionContext.ConfigurationProvider: IConfigurationProvider { get; }
  • removed: property TypeDetails.DestinationMemberName.Member: MemberInfo { get; set; }
  • removed: property TypeDetails.DestinationMemberName.Possibles: string[] { get; set; }
  • removed: property TypeDetails.DestinationMemberNames: IEnumerable<TypeDetails.DestinationMemberName> { get; set; }
  • removed: protected method MemberFinderVisitor.VisitMember(MemberExpression node): Expression
  • removed: static method PropertyMap.CheckCustomSource(LambdaExpression lambda, LambdaExpression customSource): LambdaExpression
  • removed: static method TypePair.Create<TSource, TDestination>(TSource source, TDestination destination, Type sourceType, Type destinationType): TypePair
  • removed: static method TypePair.Create<TSource>(TSource source, Type sourceType, Type destinationType): TypePair
  • removed: struct IncludedMember
  • removed: struct TypeDetails.DestinationMemberName
  • changed: class Mapper implements IMapper, IRuntimeMapper → class Mapper implements IInternalRuntimeMapper, IMapper, IMapperBase, IRuntimeMapper
  • changed: class ResolutionContext implements IMapper, IRuntimeMapper → class ResolutionContext implements IInternalRuntimeMapper, IMapperBase, IRuntimeMapper
  • changed: ctor ConfigurationValidator(IConfigurationProvider config) → ctor ConfigurationValidator(IConfigurationProvider config, MapperConfigurationExpression expression)
  • changed: ctor PathMap(PathMap pathMap, TypeMap typeMap, LambdaExpression customSource) → ctor PathMap(PathMap pathMap, TypeMap typeMap, IncludedMember includedMember)
  • changed: ctor PropertyMap(PropertyMap includedMemberMap, TypeMap typeMap, LambdaExpression expression) → ctor PropertyMap(PropertyMap includedMemberMap, TypeMap typeMap, IncludedMember includedMember)
  • changed: interface ICtorParamConfigurationExpression<TSource> → interface ICtorParamConfigurationExpression
  • changed: interface IMapper → interface IMapper extends IMapperBase
  • changed: interface IRuntimeMapper extends IMapper → interface IRuntimeMapper extends IMapperBase
  • changed: method IMapper.Map(object source, Type sourceType, Type destinationType): object → method IMapper.Map(object source, Type sourceType, Type destinationType, Action<IMappingOperationOptions<object, object>> opts): object
  • changed: method IMapper.Map(object source, Type sourceType, Type destinationType, Action<IMappingOperationOptions> opts): object → method IMapper.Map(object source, object destination, Type sourceType, Type destinationType, Action<IMappingOperationOptions<object, object>> opts): object
  • changed: method IMapper.Map(object source, object destination, Type sourceType, Type destinationType): object → method IMapper.Map<TDestination>(object source, Action<IMappingOperationOptions<object, TDestination>> opts): TDestination
  • changed: method IMemberConfigurationExpression.MapFrom(string sourceMemberName): void → method IMemberConfigurationExpression.MapFrom(string sourceMembersPath): void
  • changed: method Mapper.Map(object source, Type sourceType, Type destinationType, Action<IMappingOperationOptions> opts): object → method Mapper.Map(object source, Type sourceType, Type destinationType, Action<IMappingOperationOptions<object, object>> opts): object
  • changed: method Mapper.Map(object source, object destination, Type sourceType, Type destinationType, Action<IMappingOperationOptions> opts): object → method Mapper.Map(object source, object destination, Type sourceType, Type destinationType, Action<IMappingOperationOptions<object, object>> opts): object
  • changed: method Mapper.Map(object source, object destination, Type sourceType, Type destinationType, ResolutionContext context, IMemberMap memberMap): object → method Mapper.Map<TDestination>(object source, Action<IMappingOperationOptions<object, TDestination>> opts): TDestination
  • changed: method ProfileMap.MapDestinationPropertyToSource(TypeDetails sourceTypeInfo, Type destType, Type destMemberType, string destMemberInfo, LinkedList<MemberInfo> members): bool → method ProfileMap.MapDestinationPropertyToSource(TypeDetails sourceTypeInfo, Type destType, Type destMemberType, string destMemberInfo, LinkedList<MemberInfo> members, bool reverseNamingConventions): bool
  • changed: method TypeMap.AddMemberMap(IncludedMember includedMember): void → method TypeMap.AddMemberMap(IncludedMember includedMember): bool
  • changed: property ConstructorParameterMap.SourceMembers: IEnumerable<MemberInfo> { get; } → property ConstructorParameterMap.SourceMembers: IReadOnlyCollection<MemberInfo> { get; }
  • changed: property DefaultMemberMap.SourceMembers: IEnumerable<MemberInfo> { get; } → property DefaultMemberMap.SourceMembers: IReadOnlyCollection<MemberInfo> { get; }
  • changed: property DefaultMemberMap.UseDestinationValue: bool { get; set; } → property DefaultMemberMap.UseDestinationValue: bool? { get; set; }
  • changed: property IMemberMap.SourceMembers: IEnumerable<MemberInfo> { get; } → property IMemberMap.SourceMembers: IReadOnlyCollection<MemberInfo> { get; }
  • changed: property IMemberMap.UseDestinationValue: bool { get; } → property IMemberMap.UseDestinationValue: bool? { get; }
  • changed: property ProfileMap.Postfixes: IEnumerable<string> { get; } → property ProfileMap.Postfixes: List<string> { get; }
  • changed: property ProfileMap.Prefixes: IEnumerable<string> { get; } → property ProfileMap.Prefixes: List<string> { get; }
  • changed: property PropertyMap.AllowNull: bool { get; set; } → property PropertyMap.AllowNull: bool? { get; set; }
  • changed: property PropertyMap.SourceMembers: IEnumerable<MemberInfo> { get; } → property PropertyMap.SourceMembers: IReadOnlyCollection<MemberInfo> { get; }
  • changed: property PropertyMap.UseDestinationValue: bool { get; set; } → property PropertyMap.UseDestinationValue: bool? { get; set; }
  • changed: static method TypeMapFactory.CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options): TypeMap → static method TypeMapFactory.CreateTypeMap(Type sourceType, Type destinationType, ProfileMap options, bool isReverseMap = …): TypeMap
  • added: class ExactMatchNamingConvention implements INamingConvention
  • added: class IncludedMember implements IEquatable<IncludedMember>
  • added: class MapMemberInfo extends MemberInfo implements IEquatable<MemberInfo>
  • added: ctor ExactMatchNamingConvention()
  • added: ctor MapMemberInfo(MemberInfo memberInfo, Type parentType)
  • added: interface ICtorParamConfigurationExpression<TSource> extends ICtorParamConfigurationExpression
  • added: interface IMapperBase
  • added: method ConfigurationValidator.AssertConfigurationExpressionIsValid(IEnumerable<TypeMap> typeMaps): void
  • added: method ConstructorParameterMap.DefaultValue(): Expression
  • added: method DefaultMemberMap.MapFrom(LambdaExpression sourceMember): void
  • added: method DefaultMemberMap.MapFrom(string sourceMembersPath): void
  • added: method ExactMatchNamingConvention.ReplaceValue(Match match): string
  • added: method IConfigurationProvider.GetExecutionPlan<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • added: method ICtorParamConfigurationExpression.MapFrom(string sourceMembersPath): void
  • added: method IMapper.ProjectTo(IQueryable source, Type destinationType, IDictionary<string, object> parameters = …, string[] membersToExpand): IQueryable
  • added: method IMapperBase.Map(object source, Type sourceType, Type destinationType): object
  • added: method IMapperBase.Map(object source, object destination, Type sourceType, Type destinationType): object
  • added: method IMapperBase.Map<TDestination>(object source): TDestination
  • added: method IMapperBase.Map<TSource, TDestination>(TSource source): TDestination
  • added: method IMapperBase.Map<TSource, TDestination>(TSource source, TDestination destination): TDestination
  • added: method IMemberConfigurationExpression.DoNotAllowNull(): void
  • added: method IMemberConfigurationExpression.DoNotUseDestinationValue(): void
  • added: method IncludedMember.Chain(IncludedMember other): IncludedMember
  • added: method IncludedMember.Chain(LambdaExpression lambda): LambdaExpression
  • added: method IncludedMember.Equals(IncludedMember other): bool
  • added: method IncludedMember.GetHashCode(): int
  • added: method MapMemberInfo.Equals(MemberInfo other): bool
  • added: method MapMemberInfo.Equals(object obj): bool
  • added: method MapMemberInfo.GetCustomAttributes(Type attributeType, bool inherit): object[]
  • added: method MapMemberInfo.GetCustomAttributes(bool inherit): object[]
  • added: method MapMemberInfo.GetHashCode(): int
  • added: method MapMemberInfo.IsDefined(Type attributeType, bool inherit): bool
  • added: method Mapper.ProjectTo(IQueryable source, Type destinationType, IDictionary<string, object> parameters, string[] membersToExpand): IQueryable
  • added: method MapperConfiguration.GetExecutionPlan<TSource, TDestination>(MapRequest mapRequest): Func<TSource, TDestination, ResolutionContext, TDestination>
  • added: method TypeDetails.GetMember(string name): MemberInfo
  • added: method TypeMap.GetAllIncludedMembers(): IEnumerable<LambdaExpression>
  • added: method TypeMap.MakeGenericType(Type type): Type
  • added: property AdvancedConfiguration.RecursiveQueriesMaxDepth: int { get; set; }
  • added: property DefaultMemberMap.AllowNull: bool? { get; set; }
  • added: property DefaultMemberMap.CanBeSet: bool { get; }
  • added: property DefaultMemberMap.IncludedMember: IncludedMember { get; }
  • added: property DefaultMemberMap.ProjectToCustomSource: LambdaExpression { get; }
  • added: property ExactMatchNamingConvention.SeparatorCharacter: string { get; }
  • added: property ExactMatchNamingConvention.SplittingExpression: Regex { get; }
  • added: property IConfigurationProvider.RecursiveQueriesMaxDepth: int { get; }
  • added: property IMemberMap.AllowNull: bool? { get; }
  • added: property IMemberMap.CanBeSet: bool { get; }
  • added: property IMemberMap.IncludedMember: IncludedMember { get; }
  • added: property IMemberMap.ProjectToCustomSource: LambdaExpression { get; }
  • added: property IncludedMember.ProjectToCustomSource: LambdaExpression { get; }
  • added: property IncludedMember.Variable: ParameterExpression { get; }
  • added: property MapMemberInfo.DeclaringType: Type { get; }
  • added: property MapMemberInfo.MemberType: MemberTypes { get; }
  • added: property MapMemberInfo.Name: string { get; }
  • added: property MapMemberInfo.ReflectedType: Type { get; }
  • added: property MapperConfiguration.RecursiveQueriesMaxDepth: int { get; }
  • added: property PathMap.CanBeSet: bool { get; }
  • added: property PathMap.IncludedMember: IncludedMember { get; }
  • added: property PropertyMap.CanBeSet: bool { get; }
  • added: property PropertyMap.IncludedMember: IncludedMember { get; }
  • added: property TypeMap.HasTypeConverter: bool { get; }
  • added: property TypeMap.IncludedMembersTypeMaps: IReadOnlyCollection<IncludedMember> { get; }
  • added: property TypePair.ContainsGenericParameters: bool { get; }
  • added: static method IncludedMember.Chain(LambdaExpression customSource, LambdaExpression lambda): LambdaExpression
  • added: static method TypeDetails.PossibleNames(string memberName, List<string> prefixes, List<string> postfixes): IEnumerable<string>
  • changed: class CtorParamConfigurationExpression<TSource> implements ICtorParamConfigurationExpression<TSource>, ICtorParameterConfiguration → class CtorParamConfigurationExpression<TSource, TDestination> implements ICtorParamConfigurationExpression, ICtorParamConfigurationExpression<TSource>, ICtorParameterConfiguration
  • changed: ctor CtorParamConfigurationExpression(string ctorParamName) → ctor CtorParamConfigurationExpression(string ctorParamName, Type sourceType)
  • changed: method MemberConfigurationExpression.MapFrom(string sourceMemberName): void → method MemberConfigurationExpression.MapFrom(string sourceMembersPath): void
  • added: class MappingExpression.MemberConfigurationExpression extends MemberConfigurationExpression<object, object, object> implements IMemberConfigurationExpression, IMemberConfigurationExpression<object, object, object>
  • added: ctor MappingExpression.MemberConfigurationExpression(MemberInfo destinationMember, Type sourceType)
  • added: method CtorParamConfigurationExpression.MapFrom(string sourceMembersPath): void
  • added: method MappingExpression.MemberConfigurationExpression.ConvertUsing(Type valueConverterType): void
  • added: method MappingExpression.MemberConfigurationExpression.ConvertUsing(Type valueConverterType, string sourceMemberName): void
  • added: method MappingExpression.MemberConfigurationExpression.ConvertUsing<TSourceMember, TDestinationMember>(IValueConverter<TSourceMember, TDestinationMember> valueConverter, string sourceMemberName): void
  • added: method MappingExpression.MemberConfigurationExpression.MapFrom(Type valueResolverType): void
  • added: method MappingExpression.MemberConfigurationExpression.MapFrom(Type valueResolverType, string sourceMemberName): void
  • added: method MappingExpression.MemberConfigurationExpression.MapFrom<TSource, TDestination, TSourceMember, TDestMember>(IMemberValueResolver<TSource, TDestination, TSourceMember, TDestMember> resolver, string sourceMemberName): void
  • added: method MemberConfigurationExpression.DoNotAllowNull(): void
  • added: method MemberConfigurationExpression.DoNotUseDestinationValue(): void
  • added: property CtorParamConfigurationExpression.SourceType: Type { get; }
  • added: property ITypeMapConfiguration.IsReverseMap: bool { get; }
  • added: property MappingExpressionBase.IsReverseMap: bool { get; set; }
  • changed: method DefaultMember.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent = …): bool → method DefaultMember.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent = …, bool isReverseMap = …): bool
  • changed: method IChildMemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent): bool → method IChildMemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent, bool isReverseMap): bool
  • changed: method IMemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers): bool → method IMemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, bool isReverseMap): bool
  • changed: method MemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers): bool → method MemberConfiguration.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, bool isReverseMap): bool
  • changed: method NameSplitMember.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent): bool → method NameSplitMember.MapDestinationPropertyToSource(ProfileMap options, TypeDetails sourceType, Type destType, Type destMemberType, string nameToSearch, LinkedList<MemberInfo> resolvers, IMemberConfiguration parent, bool isReverseMap): bool
  • added: method DefaultName.GetMatchingMemberInfo(IGetTypeInfoMembers getTypeInfoMembers, TypeDetails typeInfo, Type destType, Type destMemberType, string nameToSearch): MemberInfo
  • removed: static class PrimitiveHelper
  • removed: static method PrimitiveHelper.GetDictionaryType(Type type): Type
  • removed: static method PrimitiveHelper.GetFieldOrProperty(Type type, string name): MemberInfo
  • removed: static method PrimitiveHelper.GetGenericElementType(Type type): Type
  • removed: static method PrimitiveHelper.GetGenericInterface(Type type, Type genericInterface): Type
  • removed: static method PrimitiveHelper.GetIEnumerableType(Type type): Type
  • removed: static method PrimitiveHelper.GetInheritedMember(Type type, string name): MemberInfo
  • removed: static method PrimitiveHelper.GetInheritedMethod(Type type, string name): MethodInfo
  • removed: static method PrimitiveHelper.GetOrDefault<TKey, TValue>(IDictionary<TKey, TValue> dictionary, TKey key): TValue
  • removed: static method PrimitiveHelper.GetReadOnlyDictionaryType(Type type): Type
  • removed: static method PrimitiveHelper.GetTypeOfNullable(Type type): Type
  • removed: static method PrimitiveHelper.ImplementsGenericInterface(Type type, Type interfaceType): bool
  • removed: static method PrimitiveHelper.IsCollectionType(Type type): bool
  • removed: static method PrimitiveHelper.IsDictionaryType(Type type): bool
  • removed: static method PrimitiveHelper.IsEnumerableType(Type type): bool
  • removed: static method PrimitiveHelper.IsGenericType(Type type, Type genericType): bool
  • removed: static method PrimitiveHelper.IsListOrDictionaryType(Type type): bool
  • removed: static method PrimitiveHelper.IsListType(Type type): bool
  • removed: static method PrimitiveHelper.IsNullableType(Type type): bool
  • removed: static method PrimitiveHelper.IsQueryableType(Type type): bool
  • removed: static method PrimitiveHelper.IsReadOnlyDictionaryType(Type type): bool
  • removed: static method DelegateFactory.CreateCtor(Type type): Func<object>
  • removed: static method DelegateFactory.GenerateConstructorExpression(Type type, ProfileMap configuration): Expression
  • added: static method DelegateFactory.CreateInstance(Type type): object
  • added: static method ExpressionBuilder.AllowsNullCollections(IMemberMap memberMap): bool
  • added: static method ExpressionBuilder.AllowsNullCollectionsFor(ProfileMap profile, IMemberMap memberMap = …): bool
  • added: static method ExpressionBuilder.AllowsNullDestinationValues(IMemberMap memberMap): bool
  • added: static method ExpressionBuilder.AllowsNullDestinationValuesFor(ProfileMap profile, IMemberMap memberMap = …): bool
  • added: static method ExpressionBuilder.NullSubstitute(IMemberMap memberMap, Expression sourceExpression): Expression
  • added: static method ExpressionBuilder.OverMaxDepth(Expression context, TypeMap typeMap): BinaryExpression
  • removed: static method ExpressionFactory.MemberAccessLambda(Type type, string propertyOrField): LambdaExpression
  • removed: static method ReflectionHelper.GetFieldOrProperty(LambdaExpression expression): MemberInfo
  • removed: static method ReflectionHelper.IsDynamic(Type type): bool
  • removed: static method ReflectionHelper.IsDynamic(object obj): bool
  • removed: static method ReflectionHelper.ReplaceItemType(Type targetType, Type oldType, Type newType): Type
  • changed: static method ExpressionFactory.MemberAccessLambda(MemberInfo propertyOrField): LambdaExpression → static method ExpressionFactory.MemberAccessLambda(Type type, string memberPath): LambdaExpression
  • changed: static method ExpressionFactory.MemberAccesses(string members, Expression obj): MemberExpression → static method ExpressionFactory.MemberAccesses(IEnumerable<MemberInfo> members, Expression obj): Expression
  • changed: static method ExpressionFactory.NullCheck(Expression expression, Type destinationType): Expression → static method ExpressionFactory.NullCheck(Expression expression, Type destinationType = …): Expression
  • changed: static method ReflectionHelper.GetMemberPath(Type type, string fullMemberName): IEnumerable<MemberInfo> → static method ReflectionHelper.GetMemberPath(Type type, string fullMemberName): MemberInfo[]
  • added: class MapMemberVisitor extends ExpressionVisitor
  • added: ctor ExpressionFactory.Member(Expression expression, MemberInfo memberInfo, Expression target)
  • added: ctor LockingConcurrentDictionary(Func<TKey, TValue> valueFactory)
  • added: ctor MapMemberVisitor()
  • 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: method LockingConcurrentDictionary.ContainsKey(TKey key): bool
  • added: method LockingConcurrentDictionary.GetOrAdd(TKey key): TValue
  • added: method LockingConcurrentDictionary.GetOrAdd(TKey key, Func<TKey, Lazy<TValue>> valueFactory): TValue
  • added: method LockingConcurrentDictionary.GetOrDefault(TKey key): TValue
  • added: method LockingConcurrentDictionary.TryGetValue(TKey key, out TValue value): bool
  • added: property ExpressionFactory.Member.Expression: Expression { get; }
  • added: property ExpressionFactory.Member.MemberInfo: MemberInfo { get; }
  • added: property ExpressionFactory.Member.Target: Expression { get; }
  • added: property LockingConcurrentDictionary.Item[TKey]: TValue { get; set; }
  • added: property LockingConcurrentDictionary.Keys: ICollection<TKey> { get; }
  • added: property MapMemberVisitor.MemberPath: IEnumerable<MapMemberInfo> { get; }
  • added: protected method MapMemberVisitor.VisitMember(MemberExpression node): Expression
  • added: static class CollectionMapperExpressionFactory
  • added: static class ElementTypeHelper
  • added: static class PrimitiveHelper
  • added: static class TypeExtensions
  • added: static method CollectionMapperExpressionFactory.MapCollectionExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, IMemberMap memberMap, 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.GetElementTypes(Type enumerableType, ElementTypeFlags flags = …): Type[]
  • added: static method ElementTypeHelper.GetElementTypes(Type enumerableType, IEnumerable enumerable, ElementTypeFlags flags = …): Type[]
  • added: static method ExpressionFactory.Chain(IEnumerable<Expression> expressions, Expression parameter): Expression
  • added: static method ExpressionFactory.EnsureMemberPath(LambdaExpression exp, string name): void
  • added: static method ExpressionFactory.GetChain(Expression expression): IEnumerable<ExpressionFactory.Member>
  • added: static method ExpressionFactory.GetMember(LambdaExpression lambda): MemberInfo
  • added: static method ExpressionFactory.GetMemberExpressions(Expression expression): IEnumerable<MemberExpression>
  • added: static method ExpressionFactory.GetMembersChain(Expression expression): IEnumerable<MemberInfo>
  • added: static method ExpressionFactory.GetMembersChain(LambdaExpression lambda): IEnumerable<MemberInfo>
  • added: static method ExpressionFactory.IsMemberPath(LambdaExpression lambda): bool
  • added: static method ExpressionFactory.Lambda(IEnumerable<MemberInfo> members): LambdaExpression
  • added: static method ExpressionFactory.Lambda(MemberInfo member): LambdaExpression
  • added: static method MapMemberVisitor.GetMemberPath(Expression expression): IEnumerable<MapMemberInfo>
  • added: static method PrimitiveHelper.ForAll<T>(IEnumerable<T> enumerable, Action<T> action): void
  • added: static method PrimitiveHelper.GetOrDefault<TKey, TValue>(IDictionary<TKey, TValue> dictionary, TKey key): TValue
  • added: static method PrimitiveHelper.IsEnumToEnum(TypePair context): bool
  • added: static method PrimitiveHelper.IsEnumToUnderlyingType(TypePair context): bool
  • added: static method PrimitiveHelper.IsUnderlyingTypeToEnum(TypePair context): bool
  • added: static method ReflectionHelper.CreateType(TypeBuilder type): Type
  • added: static method ReflectionHelper.GetMapMemberPath(Type type, string fullMemberName): MapMemberInfo[]
  • added: static method ReflectionHelper.Has<TAttribute>(MemberInfo member): bool
  • added: static method ReflectionHelper.HasAnInaccessibleSetter(PropertyInfo property): bool
  • added: static method ReflectionHelper.IsPublic(MemberInfo memberInfo): bool
  • added: static method ReflectionHelper.IsPublic(PropertyInfo propertyInfo): bool
  • added: static method ReflectionHelper.IsStatic(FieldInfo fieldInfo): bool
  • added: static method ReflectionHelper.IsStatic(MemberInfo memberInfo): bool
  • added: static method ReflectionHelper.IsStatic(PropertyInfo propertyInfo): bool
  • added: static method TypeExtensions.GetDeclaredConstructor(Type type, Type[] parameters): ConstructorInfo
  • added: static method TypeExtensions.GetDeclaredConstructors(Type type): IEnumerable<ConstructorInfo>
  • added: static method TypeExtensions.GetDeclaredMembers(Type type): IEnumerable<MemberInfo>
  • added: static method TypeExtensions.GetDeclaredMethod(Type type, string name): MethodInfo
  • added: static method TypeExtensions.GetDeclaredMethods(Type type): IEnumerable<MethodInfo>
  • added: static method TypeExtensions.GetDictionaryType(Type type): Type
  • added: static method TypeExtensions.GetFieldOrProperty(Type type, string name): MemberInfo
  • added: static method TypeExtensions.GetGenericInterface(Type type, Type genericInterface): Type
  • added: static method TypeExtensions.GetGenericParameters(Type type): Type[]
  • added: static method TypeExtensions.GetIEnumerableType(Type type): Type
  • added: static method TypeExtensions.GetInheritedMember(Type type, string name): MemberInfo
  • added: static method TypeExtensions.GetInheritedMethod(Type type, string name): MethodInfo
  • added: static method TypeExtensions.GetReadOnlyDictionaryType(Type type): Type
  • added: static method TypeExtensions.GetTypeDefinitionIfGeneric(Type type): Type
  • added: static method TypeExtensions.GetTypeInheritance(Type type): IEnumerable<Type>
  • added: static method TypeExtensions.GetTypeOfNullable(Type type): Type
  • added: static method TypeExtensions.ImplementsGenericInterface(Type type, Type interfaceType): bool
  • added: static method TypeExtensions.IsCollectionType(Type type): bool
  • added: static method TypeExtensions.IsDictionaryType(Type type): bool
  • added: static method TypeExtensions.IsDynamic(Type type): bool
  • added: static method TypeExtensions.IsEnumerableType(Type type): bool
  • added: static method TypeExtensions.IsGenericType(Type type, Type genericType): bool
  • added: static method TypeExtensions.IsListType(Type type): bool
  • added: static method TypeExtensions.IsNonStringEnumerable(Type type): bool
  • added: static method TypeExtensions.IsNullableType(Type type): bool
  • added: static method TypeExtensions.IsReadOnlyDictionaryType(Type type): bool
  • added: static method TypeExtensions.IsSetType(Type type): bool
  • added: static method TypeExtensions.PropertiesWithAnInaccessibleSetter(Type type): IEnumerable<PropertyInfo>
  • added: static method TypeExtensions.ReplaceItemType(Type targetType, Type oldType, Type newType): Type
  • added: struct ExpressionFactory.Member
  • added: struct LockingConcurrentDictionary<TKey, TValue>
  • removed: static method EnumToEnumMapper.Map<TSource, TDestination>(TSource source): TDestination
  • removed: delegate CollectionMapperExpressionFactory.MapItem(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • removed: enum ElementTypeFlags
  • removed: member ElementTypeFlags.BreakKeyValuePair
  • removed: member ElementTypeFlags.None
  • removed: static class CollectionMapperExpressionFactory
  • removed: static class ElementTypeHelper
  • removed: static method CollectionMapperExpressionFactory.MapCollectionExpression(IConfigurationProvider configurationProvider, ProfileMap profileMap, IMemberMap memberMap, Expression sourceExpression, Expression destExpression, Expression contextExpression, Type ifInterfaceType, CollectionMapperExpressionFactory.MapItem mapItem): Expression
  • removed: static method CollectionMapperExpressionFactory.MapItemExpr(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • removed: static method CollectionMapperExpressionFactory.MapKeyPairValueExpr(IConfigurationProvider configurationProvider, ProfileMap profileMap, Type sourceType, Type destType, Expression contextParam, out ParameterExpression itemParam): Expression
  • removed: static method ElementTypeHelper.GetElementType(Type enumerableType): Type
  • removed: static method ElementTypeHelper.GetElementType(Type enumerableType, IEnumerable enumerable): Type
  • removed: static method ElementTypeHelper.GetElementTypes(Type enumerableType, ElementTypeFlags flags = …): Type[]
  • removed: static method ElementTypeHelper.GetElementTypes(Type enumerableType, IEnumerable enumerable, ElementTypeFlags flags = …): Type[]
  • removed: static method ElementTypeHelper.GetEnumerationType(Type enumType): Type
  • removed: method IExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): bool
  • removed: method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • removed: property LetPropertyMaps.PropertyPath.Last: PropertyMap { get; }
  • removed: static readonly field LetPropertyMaps.Default: LetPropertyMaps
  • changed: ctor ExpressionResolutionResult(Expression resolutionExpression, Type type) → ctor ExpressionResolutionResult(Expression resolutionExpression, LambdaExpression nonMarkerExpression)
  • changed: ctor LetPropertyMaps.PropertyPath(PropertyExpression[] properties, Expression marker) → ctor LetPropertyMaps.PropertyPath(PropertyExpression[] properties, LambdaExpression letExpression)
  • changed: method ExpressionBuilder.FirstPassLetPropertyMaps.GetSubQueryMarker(): Expression → method ExpressionBuilder.FirstPassLetPropertyMaps.GetSubQueryMarker(LambdaExpression letExpression): Expression
  • changed: method IExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): bool → method IExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap): bool
  • changed: method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): ExpressionResolutionResult → method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • changed: method LetPropertyMaps.GetSubQueryMarker(): Expression → method LetPropertyMaps.GetSubQueryMarker(LambdaExpression letExpression): Expression
  • changed: protected ctor LetPropertyMaps() → protected ctor LetPropertyMaps(IConfigurationProvider configurationProvider)
  • added: ctor ExpressionResolutionResult(Expression resolutionExpression, Type type = …)
  • added: method ProjectionExpression.To(Type destinationType, object parameters, string[] membersToExpand): IQueryable
  • added: property ExpressionResolutionResult.NonMarkerExpression: Expression { get; }
  • added: property LetPropertyMaps.ConfigurationProvider: IConfigurationProvider { get; }
  • added: property LetPropertyMaps.PropertyPath.LetExpression: LambdaExpression { get; }
  • added: static method Extensions.ProjectTo(IQueryable source, Type destinationType, IConfigurationProvider configuration): IQueryable
  • added: static method Extensions.ProjectTo(IQueryable source, Type destinationType, IConfigurationProvider configuration, IDictionary<string, object> parameters, string[] membersToExpand): IQueryable
  • removed: class NullableDestinationExpressionBinder implements IExpressionBinder
  • removed: ctor NullableDestinationExpressionBinder()
  • removed: method MemberGetterExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): bool
  • removed: method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • removed: method MemberResolverExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap): bool
  • removed: method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • removed: method NullableDestinationExpressionBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • removed: method NullableDestinationExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • changed: method MemberGetterExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): bool → method MemberGetterExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap): bool
  • changed: method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): ExpressionResolutionResult → method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • changed: method MemberResolverExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): bool → method MemberResolverExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap): bool
  • changed: method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, ConstructorParameterMap propertyMap): ExpressionResolutionResult → method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IMemberMap propertyMap, LetPropertyMaps letPropertyMaps): ExpressionResolutionResult
  • added: abstract class EnumBinder implements IExpressionBinder
  • added: class EnumToEnumBinder extends EnumBinder
  • added: class EnumToUnderlyingTypeBinder extends EnumBinder
  • added: class UnderlyingTypeToEnumBinder extends EnumBinder
  • added: ctor EnumToEnumBinder()
  • added: ctor EnumToUnderlyingTypeBinder()
  • added: ctor UnderlyingTypeToEnumBinder()
  • added: method EnumBinder.Build(IConfigurationProvider configuration, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount, LetPropertyMaps letPropertyMaps): MemberAssignment
  • added: method EnumBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method EnumToEnumBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method EnumToUnderlyingTypeBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method UnderlyingTypeToEnumBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: protected ctor EnumBinder()
  • added: static method QueryMapperHelper.CheckCustomSource(IMemberMap memberMap, ExpressionResolutionResult expressionResolutionResult, LetPropertyMaps letPropertyMaps): Expression