Skip to content

Upgrading AutoMapper 2 to 3

Breaking2.2.1 → 3.3.1Breaking1New41Changed11Fixed72Other5

BreakingUpgrade verdict

1 breaking change.

  • Converting a list into a read-only collection through mapping is no longer supported.
1 item needs code or config changes
Breaking1
Mapping List<TSource> to ReadOnlyCollection<TDestination> no longer works.
List<TSource>ReadOnlyCollection<TDestination>

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

  • removed: method IMappingEngine.CreateMapExpression<TSource, TDestination>(): Expression<Func<TSource, TDestination>>
  • removed: method MappingEngine.CreateMapExpression<TSource, TDestination>(): Expression<Func<TSource, TDestination>>
  • removed: method MappingOperationOptions.ConstructServicesUsing(Func<Type, object> constructor): void
  • removed: property ConfigurationStore.SourceExtensionMethodSearch: Assembly[] { get; set; }
  • removed: property FormatterExpression.SourceExtensionMethodSearch: Assembly[] { get; set; }
  • removed: property IFormatterExpression.AllowNullCollections: bool { get; set; }
  • removed: property IFormatterExpression.AllowNullDestinationValues: bool { get; set; }
  • removed: property IMappingOptions.SourceExtensionMethodSearch: Assembly[] { get; set; }
  • removed: property Profile.SourceExtensionMethodSearch: Assembly[] { get; set; }
  • removed: protected ctor AutoMapperMappingException(SerializationInfo info, StreamingContext context)
  • removed: static class PrimitiveExtensions
  • removed: static method DelegateFactory.CreateValueTypeSet(PropertyInfo property): LateBoundValueTypePropertySet
  • removed: static method Mapper.CreateMapExpression<TSource, TDestination>(): Expression<Func<TSource, TDestination>>
  • removed: static method PrimitiveExtensions.GetDictionaryType(Type type): Type
  • removed: static method PrimitiveExtensions.GetTypeOfNullable(Type type): Type
  • removed: static method PrimitiveExtensions.IsCollectionType(Type type): bool
  • removed: static method PrimitiveExtensions.IsDictionaryType(Type type): bool
  • removed: static method PrimitiveExtensions.IsEnumerableType(Type type): bool
  • removed: static method PrimitiveExtensions.IsListOrDictionaryType(Type type): bool
  • removed: static method PrimitiveExtensions.IsListType(Type type): bool
  • removed: static method PrimitiveExtensions.IsNullableType(Type type): bool
  • removed: static method PrimitiveExtensions.ToNullSafeString(object value): string
  • changed: ctor DelegateBasedResolver(Func<TSource, object> method) → ctor DelegateBasedResolver(Func<ResolutionResult, object> method)
  • changed: ctor ResolutionContext(TypeMap typeMap, object source, Type sourceType, Type destinationType, MappingOperationOptions options) → ctor ResolutionContext(TypeMap typeMap, object source, Type sourceType, Type destinationType, MappingOperationOptions options, IMappingEngine engine)
  • changed: ctor ResolutionContext(TypeMap typeMap, object source, object destination, Type sourceType, Type destinationType, MappingOperationOptions options) → ctor ResolutionContext(TypeMap typeMap, object source, object destination, Type sourceType, Type destinationType, MappingOperationOptions options, IMappingEngine engine)
  • changed: interface IMemberAccessor extends ICustomAttributeProvider, IMemberGetter, IMemberResolver, IValueResolver → interface IMemberAccessor extends IMemberGetter, IMemberResolver, IValueResolver
  • changed: interface IMemberGetter extends ICustomAttributeProvider, IMemberResolver, IValueResolver → interface IMemberGetter extends IMemberResolver, IValueResolver
  • changed: interface ISourceMemberConfigurationExpression<TSource> → interface ISourceMemberConfigurationExpression
  • changed: method ConfigurationStore.CreateProfile(string profileName, Action<IProfileExpression> initializationExpression): void → method ConfigurationStore.CreateProfile(string profileName, Action<IProfileExpression> profileConfiguration): void
  • changed: method IConfiguration.CreateProfile(string profileName, Action<IProfileExpression> initializationExpression): void → method IConfiguration.CreateProfile(string profileName, Action<IProfileExpression> profileConfiguration): void
  • changed: method IMappingEngine.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions> opts): TDestination → method IMappingEngine.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • changed: method IMappingEngine.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions> opts): TDestination → method IMappingEngine.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • changed: method IProfileExpression.CreateMap(Type sourceType, Type destinationType, MemberList source): IMappingExpression → method IProfileExpression.CreateMap(Type sourceType, Type destinationType, MemberList memberList): IMappingExpression
  • changed: method IProfileExpression.CreateMap<TSource, TDestination>(MemberList source): IMappingExpression<TSource, TDestination> → method IProfileExpression.CreateMap<TSource, TDestination>(MemberList memberList): IMappingExpression<TSource, TDestination>
  • changed: method MappingEngine.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions> opts): TDestination → method MappingEngine.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • changed: method MappingEngine.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions> opts): TDestination → method MappingEngine.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • changed: method ResolutionContext.CreateTypeContext(TypeMap memberTypeMap, object sourceValue, Type sourceType, Type destinationType): ResolutionContext → method ResolutionContext.CreateTypeContext(TypeMap memberTypeMap, object sourceValue, object destinationValue, Type sourceType, Type destinationType): ResolutionContext
  • changed: method TypeInfo.GetPublicNoArgExtensionMethods(Assembly[] sourceExtensionMethodSearch): IEnumerable<MethodInfo> → method TypeInfo.GetPublicNoArgExtensionMethods(): IEnumerable<MethodInfo>
  • changed: static class DelegateFactory → class DelegateFactory implements IDelegateFactory
  • changed: static method DelegateFactory.CreateCtor(ConstructorInfo constructorInfo, IEnumerable<ConstructorParameterMap> ctorParams): LateBoundParamsCtor → method DelegateFactory.CreateCtor(ConstructorInfo constructorInfo, IEnumerable<ConstructorParameterMap> ctorParams): LateBoundParamsCtor
  • changed: static method DelegateFactory.CreateCtor(Type type): LateBoundCtor → method DelegateFactory.CreateCtor(Type type): LateBoundCtor
  • changed: static method DelegateFactory.CreateGet(FieldInfo field): LateBoundFieldGet → method DelegateFactory.CreateGet(FieldInfo field): LateBoundFieldGet
  • changed: static method DelegateFactory.CreateGet(MethodInfo method): LateBoundMethod → method DelegateFactory.CreateGet(MethodInfo method): LateBoundMethod
  • changed: static method DelegateFactory.CreateGet(PropertyInfo property): LateBoundPropertyGet → method DelegateFactory.CreateGet(PropertyInfo property): LateBoundPropertyGet
  • changed: static method DelegateFactory.CreateSet(FieldInfo field): LateBoundFieldSet → method DelegateFactory.CreateSet(FieldInfo field): LateBoundFieldSet
  • changed: static method DelegateFactory.CreateSet(PropertyInfo property): LateBoundPropertySet → method DelegateFactory.CreateSet(PropertyInfo property): LateBoundPropertySet
  • changed: static method Mapper.AssertConfigurationIsValid(TypeMap tm): void → static method Mapper.AssertConfigurationIsValid(TypeMap typeMap): void
  • changed: static method Mapper.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions> opts): TDestination → static method Mapper.Map<TSource, TDestination>(TSource source, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • changed: static method Mapper.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions> opts): TDestination → static method Mapper.Map<TSource, TDestination>(TSource source, TDestination destination, Action<IMappingOperationOptions<TSource, TDestination>> opts): TDestination
  • added: class DelegateFactoryOverride extends DelegateFactory
  • added: class MappingOperationOptions<TSource, TDestination> extends MappingOperationOptions implements IMappingOperationOptions, IMappingOperationOptions<TSource, TDestination>
  • added: class NullReferenceExceptionSwallowingResolver implements IMemberResolver, IValueResolver
  • added: ctor DelegateFactory()
  • added: ctor DelegateFactoryOverride()
  • added: ctor MappingEngine(IConfigurationProvider configurationProvider, IDictionary<TypePair, IObjectMapper> objectMapperCache, Func<Type, object> serviceCtor)
  • added: ctor NullReferenceExceptionSwallowingResolver(IMemberResolver inner)
  • added: ctor PropertyMap(PropertyMap inheritedMappedProperty)
  • added: ctor TypeInfo(Type type, IEnumerable<MethodInfo> sourceExtensionMethodSearch)
  • added: interface IDelegateFactory
  • added: interface IMappingOperationOptions<TSource, TDestination> extends IMappingOperationOptions
  • added: interface ISourceMemberConfigurationExpression<TSource> extends ISourceMemberConfigurationExpression
  • added: method ConfigurationStore.AssertConfigurationIsValid<TProfile>(): void
  • added: method ConfigurationStore.IncludeSourceExtensionMethods(Assembly assembly): void
  • added: method ConfigurationStore.ReplaceMemberName(string original, string newValue): void
  • added: method DelegateFactoryOverride.CreateSet(FieldInfo field): LateBoundFieldSet
  • added: method DelegateFactoryOverride.CreateSet(PropertyInfo property): LateBoundPropertySet
  • added: method FormatterExpression.IncludeSourceExtensionMethods(Assembly assembly): void
  • added: method FormatterExpression.ReplaceMemberName(string original, string newValue): void
  • added: method IConfigurationProvider.AssertConfigurationIsValid<TProfile>(): void
  • added: method IDelegateFactory.CreateCtor(ConstructorInfo constructorInfo, IEnumerable<ConstructorParameterMap> ctorParams): LateBoundParamsCtor
  • added: method IDelegateFactory.CreateCtor(Type type): LateBoundCtor
  • added: method IDelegateFactory.CreateGet(FieldInfo field): LateBoundFieldGet
  • added: method IDelegateFactory.CreateGet(MethodInfo method): LateBoundMethod
  • added: method IDelegateFactory.CreateGet(PropertyInfo property): LateBoundPropertyGet
  • added: method IDelegateFactory.CreateSet(FieldInfo field): LateBoundFieldSet
  • added: method IDelegateFactory.CreateSet(PropertyInfo property): LateBoundPropertySet
  • added: method IMappingExpression.ConstructProjectionUsing(Expression<Func<TSource, TDestination>> ctor): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.ForSourceMember(string sourceMemberName, Action<ISourceMemberConfigurationExpression<TSource>> memberOptions): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.ForSourceMember(string sourceMemberName, Action<ISourceMemberConfigurationExpression> memberOptions): IMappingExpression
  • added: method IMappingExpression.IgnoreAllPropertiesWithAnInaccessibleSetter(): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.IgnoreAllSourcePropertiesWithAnInaccessibleSetter(): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.Include(Type derivedSourceType, Type derivedDestinationType): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.IncludeBase<TSourceBase, TDestinationBase>(): IMappingExpression<TSource, TDestination>
  • added: method IMappingExpression.ProjectUsing(Expression<Func<TSource, TDestination>> projectionExpression): void
  • added: method IMappingExpression.Substitute(Func<TSource, object> substituteFunc): IMappingExpression<TSource, TDestination>
  • added: method IMappingOperationOptions.AfterMap(Action<TSource, TDestination> afterFunction): void
  • added: method IMappingOperationOptions.AfterMap(Action<object, object> afterFunction): void
  • added: method IMappingOperationOptions.BeforeMap(Action<TSource, TDestination> beforeFunction): void
  • added: method IMappingOperationOptions.BeforeMap(Action<object, object> beforeFunction): void
  • added: method IMemberConfigurationExpression.DoNotUseDestinationValue(): void
  • added: method IMemberConfigurationExpression.ExplicitExpansion(): void
  • added: method IMemberConfigurationExpression.PreCondition(Func<ResolutionContext, bool> condition): void
  • added: method IMemberConfigurationExpression.PreCondition(Func<TSource, bool> condition): void
  • added: method IMemberConfigurationExpression.ResolveUsing(Func<ResolutionResult, object> resolver): void
  • added: method IProfileExpression.IncludeSourceExtensionMethods(Assembly assembly): void
  • added: method IProfileExpression.ReplaceMemberName(string original, string newValue): void
  • added: method MappingExpression.ConstructProjectionUsing(Expression<Func<TSource, TDestination>> ctor): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.DoNotUseDestinationValue(): void
  • added: method MappingExpression.ExplicitExpansion(): void
  • added: method MappingExpression.ForSourceMember(string sourceMemberName, Action<ISourceMemberConfigurationExpression<TSource>> memberOptions): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.ForSourceMember(string sourceMemberName, Action<ISourceMemberConfigurationExpression> memberOptions): IMappingExpression
  • added: method MappingExpression.IgnoreAllPropertiesWithAnInaccessibleSetter(): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.IgnoreAllSourcePropertiesWithAnInaccessibleSetter(): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.Include(Type otherSourceType, Type otherDestinationType): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.IncludeBase<TSourceBase, TDestinationBase>(): IMappingExpression<TSource, TDestination>
  • added: method MappingExpression.PreCondition(Func<ResolutionContext, bool> condition): void
  • added: method MappingExpression.PreCondition(Func<TSource, bool> condition): void
  • added: method MappingExpression.ProjectUsing(Expression<Func<TSource, TDestination>> projectionExpression): void
  • added: method MappingExpression.ResolveUsing(Func<ResolutionResult, object> resolver): void
  • added: method MappingExpression.Substitute(Func<TSource, object> substituteFunc): IMappingExpression<TSource, TDestination>
  • added: method MappingOperationOptions.AfterMap(Action<TSource, TDestination> afterFunction): void
  • added: method MappingOperationOptions.AfterMap(Action<object, object> afterFunction): void
  • added: method MappingOperationOptions.BeforeMap(Action<TSource, TDestination> beforeFunction): void
  • added: method MappingOperationOptions.BeforeMap(Action<object, object> beforeFunction): void
  • added: method NullReferenceExceptionSwallowingResolver.Resolve(ResolutionResult source): ResolutionResult
  • added: method Profile.DisableConstructorMapping(): void
  • added: method Profile.IncludeSourceExtensionMethods(Assembly assembly): void
  • added: method Profile.ReplaceMemberName(string original, string newValue): void
  • added: method PropertyMap.ApplyPreCondition(Func<ResolutionContext, bool> condition): void
  • added: method PropertyMap.AssignCustomExpression(LambdaExpression customExpression): void
  • added: method PropertyMap.ShouldAssignValuePreResolving(ResolutionContext context): bool
  • added: method ResolutionContext.SetResolvedDestinationValue(object destintationValue): void
  • added: method TypeMap.ApplyInheritedMap(TypeMap inheritedTypeMap): void
  • added: method TypeMap.UseCustomProjection(LambdaExpression projectionExpression): void
  • added: property ConfigurationStore.MemberNameReplacers: IEnumerable<MemberNameReplacer> { get; }
  • added: property ConfigurationStore.SourceExtensionMethods: IEnumerable<MethodInfo> { get; }
  • added: property FormatterExpression.MemberNameReplacers: IEnumerable<MemberNameReplacer> { get; }
  • added: property FormatterExpression.SourceExtensionMethods: IEnumerable<MethodInfo> { get; }
  • added: property IMappingEngine.ConfigurationProvider: IConfigurationProvider { get; }
  • added: property IMappingExpression.TypeMap: TypeMap { get; }
  • added: property IMappingOperationOptions.DisableCache: bool { get; set; }
  • added: property IMappingOperationOptions.Items: IDictionary<string, object> { get; }
  • added: property IMappingOptions.MemberNameReplacers: IEnumerable<MemberNameReplacer> { get; }
  • added: property IMappingOptions.SourceExtensionMethods: IEnumerable<MethodInfo> { get; }
  • added: property IProfileExpression.AllowNullCollections: bool { get; set; }
  • added: property IProfileExpression.AllowNullDestinationValues: bool { get; set; }
  • added: property MappingExpression.TypeMap: TypeMap { get; }
  • added: property MappingOperationOptions.AfterMapAction: Action<object, object> { get; set; }
  • added: property MappingOperationOptions.BeforeMapAction: Action<object, object> { get; set; }
  • added: property MappingOperationOptions.DisableCache: bool { get; set; }
  • added: property MappingOperationOptions.Items: IDictionary<string, object> { get; }
  • added: property NullReferenceExceptionSwallowingResolver.MemberType: Type { get; }
  • added: property Profile.MemberNameReplacers: IEnumerable<MemberNameReplacer> { get; }
  • added: property Profile.SourceExtensionMethods: IEnumerable<MethodInfo> { get; }
  • added: property PropertyMap.DestinationPropertyType: Type { get; }
  • added: property PropertyMap.ExplicitExpansion: bool { get; set; }
  • added: property PropertyMap.NullSubstitute: object { get; }
  • added: property ResolutionContext.Engine: IMappingEngine { get; }
  • added: property TypeMap.ConstructExpression: LambdaExpression { get; set; }
  • added: property TypeMap.CustomProjection: LambdaExpression { get; }
  • added: property TypeMap.IncludedDerivedTypes: IEnumerable<TypePair> { get; }
  • added: property TypeMap.MaxDepth: int { get; set; }
  • added: property TypeMap.Substitution: Func<object, object> { get; set; }
  • added: static method Mapper.AssertConfigurationIsValid<TProfile>(): void
  • added: static method Mapper.CreateMap(Type sourceType, Type destinationType, MemberList memberList): IMappingExpression
  • added: static method Mapper.CreateMap<TSource, TDestination>(MemberList memberList): IMappingExpression<TSource, TDestination>
  • removed: class MapperConfiguration
  • removed: class MapperRegistry
  • removed: class TypeMapConfiguration
  • removed: ctor MapperConfiguration(Action<MapperRegistry> initializationExpression)
  • removed: ctor MapperRegistry()
  • removed: ctor TypeMapConfiguration()
  • removed: method MapperRegistry.CreateMap<TSource, TDestination>(): void
  • removed: property MapperConfiguration.TypeMaps: IEnumerable<TypeMapConfiguration> { get; }
  • added: class CreateTypeMapExpression implements IMappingExpression
  • added: ctor CreateTypeMapExpression(TypePair typePair, MemberList memberList, string profileName)
  • added: method CreateTypeMapExpression.Accept(IMappingExpression mappingExpression): void
  • added: method CreateTypeMapExpression.As(Type typeOverride): void
  • added: method CreateTypeMapExpression.ConvertUsing(Type typeConverterType): void
  • added: method CreateTypeMapExpression.ConvertUsing<TTypeConverter>(): void
  • added: method CreateTypeMapExpression.ForMember(string name, Action<IMemberConfigurationExpression> memberOptions): IMappingExpression
  • added: method CreateTypeMapExpression.ForSourceMember(string sourceMemberName, Action<ISourceMemberConfigurationExpression> memberOptions): IMappingExpression
  • added: method CreateTypeMapExpression.WithProfile(string profileName): IMappingExpression
  • added: property CreateTypeMapExpression.MemberList: MemberList { get; }
  • added: property CreateTypeMapExpression.ProfileName: string { get; }
  • added: property CreateTypeMapExpression.TypePair: TypePair { get; }
  • changed: abstract class MemberGetter implements ICustomAttributeProvider, IMemberGetter, IMemberResolver, IValueResolver → abstract class MemberGetter implements IMemberGetter, IMemberResolver, IValueResolver
  • changed: class FieldAccessor extends FieldGetter implements ICustomAttributeProvider, IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver → class FieldAccessor extends FieldGetter implements IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver
  • changed: class PropertyAccessor extends PropertyGetter implements ICustomAttributeProvider, IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver → class PropertyAccessor extends PropertyGetter implements IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver
  • changed: class ValueTypeFieldAccessor extends FieldGetter implements ICustomAttributeProvider, IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver → class ValueTypeFieldAccessor extends FieldGetter implements IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver
  • changed: class ValueTypePropertyAccessor extends PropertyGetter implements ICustomAttributeProvider, IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver → class ValueTypePropertyAccessor extends PropertyGetter implements IMemberAccessor, IMemberGetter, IMemberResolver, IValueResolver
  • changed: static class ProxyGenerator → class ProxyGenerator implements IProxyGenerator
  • changed: static method ProxyGenerator.GetProxyType(Type interfaceType): Type → method ProxyGenerator.GetProxyType(Type interfaceType): Type
  • added: ctor ProxyGenerator()
  • added: protected static readonly field MemberGetter.DelegateFactory: IDelegateFactory
  • added: class DictionaryFactory implements IDictionaryFactory
  • added: class DictionaryFactoryOverride implements IDictionaryFactory
  • added: class EnumNameValueMapperFactory implements IEnumNameValueMapperFactory
  • added: class EnumNameValueMapperFactoryOverride implements IEnumNameValueMapperFactory
  • added: class MemberNameReplacer
  • added: class NullableConverterFactory implements INullableConverterFactory
  • added: class NullableConverterFactoryOverride implements INullableConverterFactory
  • added: class ProxyGeneratorFactory implements IProxyGeneratorFactory
  • added: class ProxyGeneratorFactory.NotSupportedProxyGenerator implements IProxyGenerator
  • added: class ProxyGeneratorFactoryOverride implements IProxyGeneratorFactory
  • added: class ReaderWriterLockSlimFactory implements IReaderWriterLockSlimFactory
  • added: class ReaderWriterLockSlimFactory.NoOpReaderWriterLock implements IDisposable, IReaderWriterLockSlim
  • added: class ReaderWriterLockSlimFactoryOverride implements IReaderWriterLockSlimFactory
  • added: ctor DictionaryFactory()
  • added: ctor DictionaryFactoryOverride()
  • added: ctor EnumNameValueMapperFactory()
  • added: ctor EnumNameValueMapperFactoryOverride()
  • added: ctor MemberNameReplacer(string originalValue, string newValue)
  • added: ctor NullableConverterFactory()
  • added: ctor NullableConverterFactoryOverride()
  • added: ctor ProxyGeneratorFactory()
  • added: ctor ProxyGeneratorFactory.NotSupportedProxyGenerator()
  • added: ctor ProxyGeneratorFactoryOverride()
  • added: ctor ReaderWriterLockSlimFactory()
  • added: ctor ReaderWriterLockSlimFactory.NoOpReaderWriterLock()
  • added: ctor ReaderWriterLockSlimFactoryOverride()
  • added: interface IDictionary<TKey, TValue>
  • added: interface IDictionaryFactory
  • added: interface IEnumNameValueMapper
  • added: interface IEnumNameValueMapperFactory
  • added: interface ILazy<T>
  • added: interface INullableConverter
  • added: interface INullableConverterFactory
  • added: interface IProxyGenerator
  • added: interface IProxyGeneratorFactory
  • added: interface IReaderWriterLockSlim extends IDisposable
  • added: interface IReaderWriterLockSlimFactory
  • added: method DictionaryFactory.CreateDictionary<TKey, TValue>(): IDictionary<TKey, TValue>
  • added: method DictionaryFactoryOverride.CreateDictionary<TKey, TValue>(): IDictionary<TKey, TValue>
  • added: method EnumNameValueMapperFactory.Create(): IEnumNameValueMapper
  • added: method EnumNameValueMapperFactoryOverride.Create(): IEnumNameValueMapper
  • added: method IDictionary.AddOrUpdate(TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory): TValue
  • added: method IDictionary.Clear(): void
  • added: method IDictionary.GetOrAdd(TKey key, Func<TKey, TValue> valueFactory): TValue
  • added: method IDictionary.TryGetValue(TKey key, out TValue value): bool
  • added: method IDictionary.TryRemove(TKey key, out TValue value): bool
  • added: method IDictionaryFactory.CreateDictionary<TKey, TValue>(): IDictionary<TKey, TValue>
  • added: method IEnumNameValueMapper.Convert(Type enumSourceType, Type enumDestinationType, ResolutionContext context): object
  • added: method IEnumNameValueMapper.IsMatch(Type enumDestinationType, string sourceValue): bool
  • added: method IEnumNameValueMapperFactory.Create(): IEnumNameValueMapper
  • added: method INullableConverter.ConvertFrom(object value): object
  • added: method INullableConverterFactory.Create(Type nullableType): INullableConverter
  • added: method IProxyGenerator.GetProxyType(Type interfaceType): Type
  • added: method IProxyGeneratorFactory.Create(): IProxyGenerator
  • added: method IReaderWriterLockSlim.EnterReadLock(): void
  • added: method IReaderWriterLockSlim.EnterUpgradeableReadLock(): void
  • added: method IReaderWriterLockSlim.EnterWriteLock(): void
  • added: method IReaderWriterLockSlim.ExitReadLock(): void
  • added: method IReaderWriterLockSlim.ExitUpgradeableReadLock(): void
  • added: method IReaderWriterLockSlim.ExitWriteLock(): void
  • added: method IReaderWriterLockSlimFactory.Create(): IReaderWriterLockSlim
  • added: method NullableConverterFactory.Create(Type nullableType): INullableConverter
  • added: method NullableConverterFactoryOverride.Create(Type nullableType): INullableConverter
  • added: method ProxyGeneratorFactory.Create(): IProxyGenerator
  • added: method ProxyGeneratorFactory.NotSupportedProxyGenerator.GetProxyType(Type interfaceType): Type
  • added: method ProxyGeneratorFactoryOverride.Create(): IProxyGenerator
  • added: method ReaderWriterLockSlimFactory.Create(): IReaderWriterLockSlim
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.Dispose(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.EnterReadLock(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.EnterUpgradeableReadLock(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.EnterWriteLock(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.ExitReadLock(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.ExitUpgradeableReadLock(): void
  • added: method ReaderWriterLockSlimFactory.NoOpReaderWriterLock.ExitWriteLock(): void
  • added: method ReaderWriterLockSlimFactoryOverride.Create(): IReaderWriterLockSlim
  • added: property IDictionary.Item[TKey]: TValue { get; set; }
  • added: property ILazy.Value: T { get; }
  • added: property INullableConverter.UnderlyingType: Type { get; }
  • added: property MemberNameReplacer.NewValue: string { get; }
  • added: property MemberNameReplacer.OrginalValue: string { get; }
  • added: static class FeatureDetector
  • added: static class LazyFactory
  • added: static class PlatformAdapter
  • added: static class PrimitiveExtensions
  • added: static field FeatureDetector.IsIDataRecordType: Func<Type, bool>
  • added: static method LazyFactory.Create<T>(Func<T> valueFactory): ILazy<T>
  • added: static method PlatformAdapter.Resolve<T>(bool throwIfNotFound = …): T
  • added: static method PrimitiveExtensions.GetDictionaryType(Type type): Type
  • added: static method PrimitiveExtensions.GetTypeOfNullable(Type type): Type
  • added: static method PrimitiveExtensions.IsCollectionType(Type type): bool
  • added: static method PrimitiveExtensions.IsDictionaryType(Type type): bool
  • added: static method PrimitiveExtensions.IsEnumerableType(Type type): bool
  • added: static method PrimitiveExtensions.IsListOrDictionaryType(Type type): bool
  • added: static method PrimitiveExtensions.IsListType(Type type): bool
  • added: static method PrimitiveExtensions.IsNullableType(Type type): bool
  • added: static method PrimitiveExtensions.ToNullSafeString(object value): string
  • added: static property FeatureDetector.IsEnumGetNamesSupported: bool { get; }
  • removed: ctor TypeMapObjectMapperRegistry()
  • removed: static field MapperRegistry.AllMappers: Func<IEnumerable<IObjectMapper>>
  • removed: static field TypeMapObjectMapperRegistry.AllMappers: Func<IEnumerable<ITypeMapObjectMapper>>
  • changed: class TypeMapObjectMapperRegistry → static class TypeMapObjectMapperRegistry
  • added: class AssignableArrayMapper implements IObjectMapper
  • added: class ExpressionMapper implements IObjectMapper
  • added: class HashSetMapper implements IObjectMapper
  • added: class PlatformSpecificMapperRegistry implements IPlatformSpecificMapperRegistry
  • added: class PlatformSpecificMapperRegistryOverride implements IPlatformSpecificMapperRegistry
  • added: class PrimitiveArrayMapper implements IObjectMapper
  • added: ctor AssignableArrayMapper()
  • added: ctor ExpressionMapper()
  • added: ctor HashSetMapper()
  • added: ctor PlatformSpecificMapperRegistry()
  • added: ctor PlatformSpecificMapperRegistryOverride()
  • added: ctor PrimitiveArrayMapper()
  • added: interface IPlatformSpecificMapperRegistry
  • added: method AssignableArrayMapper.IsMatch(ResolutionContext context): bool
  • added: method AssignableArrayMapper.Map(ResolutionContext context, IMappingEngineRunner mapper): object
  • added: method ExpressionMapper.IsMatch(ResolutionContext context): bool
  • added: method ExpressionMapper.Map(ResolutionContext context, IMappingEngineRunner mapper): object
  • added: method HashSetMapper.IsMatch(ResolutionContext context): bool
  • added: method HashSetMapper.Map(ResolutionContext context, IMappingEngineRunner mapper): object
  • added: method IPlatformSpecificMapperRegistry.Initialize(): void
  • added: method PlatformSpecificMapperRegistry.Initialize(): void
  • added: method PlatformSpecificMapperRegistryOverride.Initialize(): void
  • added: method PrimitiveArrayMapper.IsMatch(ResolutionContext context): bool
  • added: method PrimitiveArrayMapper.Map(ResolutionContext context, IMappingEngineRunner mapper): object
  • added: static method MapperRegistry.Reset(): void
  • added: static property MapperRegistry.Mappers: IList<IObjectMapper> { get; }
  • added: static property TypeMapObjectMapperRegistry.Mappers: IList<ITypeMapObjectMapper> { get; }
  • changed: method IProjectionExpression.To<TResult>(): IQueryable<TResult> → method IProjectionExpression.To<TResult>(IDictionary<string, object> parameters): IQueryable<TResult>
  • changed: method ProjectionExpression.To<TResult>(): IQueryable<TResult> → method ProjectionExpression.To<TResult>(IDictionary<string, object> parameters): IQueryable<TResult>
  • added: class ExpressionRequest implements IEquatable<ExpressionRequest>
  • added: class ExpressionResolutionResult
  • added: ctor ExpressionRequest(Type sourceType, Type destinationType, string[] includedMembers)
  • added: ctor ExpressionResolutionResult(Expression resolutionExpression, Type type)
  • added: interface IExpressionBinder
  • added: interface IExpressionResultConverter
  • added: method ExpressionRequest.Equals(ExpressionRequest other): bool
  • added: method ExpressionRequest.Equals(object obj): bool
  • added: method ExpressionRequest.GetHashCode(): int
  • added: method IExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method IExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method IExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver): bool
  • added: method IExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver): ExpressionResolutionResult
  • added: method IProjectionExpression.To<TResult>(IDictionary<string, object> parameters, Expression<Func<TResult, object>>[] membersToExpand): IQueryable<TResult>
  • added: method IProjectionExpression.To<TResult>(IDictionary<string, object> parameters, string[] membersToExpand): IQueryable<TResult>
  • added: method IProjectionExpression.To<TResult>(object parameters = …): IQueryable<TResult>
  • added: method IProjectionExpression.To<TResult>(object parameters = …, Expression<Func<TResult, object>>[] membersToExpand): IQueryable<TResult>
  • added: method IProjectionExpression.To<TResult>(object parameters = …, string[] membersToExpand): IQueryable<TResult>
  • added: method ProjectionExpression.To<TResult>(IDictionary<string, object> parameters, Expression<Func<TResult, object>>[] membersToExpand): IQueryable<TResult>
  • added: method ProjectionExpression.To<TResult>(IDictionary<string, object> parameters, string[] membersToExpand): IQueryable<TResult>
  • added: method ProjectionExpression.To<TResult>(object parameters = …): IQueryable<TResult>
  • added: method ProjectionExpression.To<TResult>(object parameters = …, Expression<Func<TResult, object>>[] membersToExpand): IQueryable<TResult>
  • added: method ProjectionExpression.To<TResult>(object parameters = …, string[] membersToExpand): IQueryable<TResult>
  • added: property ExpressionRequest.DestinationType: Type { get; }
  • added: property ExpressionRequest.IncludedMembers: string[] { get; }
  • added: property ExpressionRequest.SourceType: Type { get; }
  • added: property ExpressionResolutionResult.ResolutionExpression: Expression { get; }
  • added: property ExpressionResolutionResult.Type: Type { get; }
  • added: static method ExpressionRequest.op_Equality(ExpressionRequest left, ExpressionRequest right): bool
  • added: static method ExpressionRequest.op_Inequality(ExpressionRequest left, ExpressionRequest right): bool
  • added: static method Extensions.ClearExpressionCache(): void
  • added: static method Extensions.CreateMapExpression<TSource, TDestination>(IMappingEngine mappingEngine, IDictionary<string, object> parameters = …, string[] membersToExpand): Expression<Func<TSource, TDestination>>
  • added: class AssignableExpressionBinder implements IExpressionBinder
  • added: class CustomProjectionExpressionBinder implements IExpressionBinder
  • added: class EnumerableExpressionBinder implements IExpressionBinder
  • added: class MappedTypeExpressionBinder implements IExpressionBinder
  • added: class MemberGetterExpressionResultConverter implements IExpressionResultConverter
  • added: class MemberResolverExpressionResultConverter implements IExpressionResultConverter
  • added: class NullSubstitutionExpressionResultConverter implements IExpressionResultConverter
  • added: class NullableExpressionBinder implements IExpressionBinder
  • added: class ParameterReplacementVisitor extends ExpressionVisitor
  • added: class StringExpressionBinder implements IExpressionBinder
  • added: ctor AssignableExpressionBinder()
  • added: ctor CustomProjectionExpressionBinder()
  • added: ctor EnumerableExpressionBinder()
  • added: ctor MappedTypeExpressionBinder()
  • added: ctor MemberGetterExpressionResultConverter()
  • added: ctor MemberResolverExpressionResultConverter()
  • added: ctor NullSubstitutionExpressionResultConverter()
  • added: ctor NullableExpressionBinder()
  • added: ctor ParameterReplacementVisitor(Expression memberExpression)
  • added: ctor StringExpressionBinder()
  • added: method AssignableExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method AssignableExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method CustomProjectionExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method CustomProjectionExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method EnumerableExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method EnumerableExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method MappedTypeExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method MappedTypeExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method MemberGetterExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver): bool
  • added: method MemberGetterExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver): ExpressionResolutionResult
  • added: method MemberResolverExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver): bool
  • added: method MemberResolverExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver): ExpressionResolutionResult
  • added: method NullSubstitutionExpressionResultConverter.CanGetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, IValueResolver valueResolver): bool
  • added: method NullSubstitutionExpressionResultConverter.GetExpressionResolutionResult(ExpressionResolutionResult expressionResolutionResult, PropertyMap propertyMap, IValueResolver valueResolver): ExpressionResolutionResult
  • added: method NullableExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method NullableExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: method StringExpressionBinder.Build(IMappingEngine mappingEngine, PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionRequest request, ExpressionResolutionResult result, IDictionary<ExpressionRequest, int> typePairCount): MemberAssignment
  • added: method StringExpressionBinder.IsMatch(PropertyMap propertyMap, TypeMap propertyTypeMap, ExpressionResolutionResult result): bool
  • added: protected method ParameterReplacementVisitor.VisitParameter(ParameterExpression node): Expression