Upgrading AutoMapper 2 to 3
Breaking2.2.1 → 3.3.1Breaking1New41Changed11Fixed72Other5
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Converting a list into a read-only collection through mapping is no longer supported.
Must act 1 item needs code or config changes
What you must change
Breaking1
Mapping List<TSource> to ReadOnlyCollection<TDestination> no longer works.
List<TSource>ReadOnlyCollection<TDestination>API changes
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