AutoMapper.Extensions.EnumMapping 3.2.0


CI NuGet NuGet MyGet (dev)


The AutoMapper.Extensions.EnumMapping library gives you control about your enum values mappings. It is possible to create a custom type converter for every enum.

This library supports mapping enums values like properties.


Installing AutoMapper.Extensions.EnumMapping

You should install AutoMapper.Extensions.EnumMapping with NuGet:

Install-Package AutoMapper.Extensions.EnumMapping

Or via the .NET Core command line interface:

dotnet add package AutoMapper.Extensions.EnumMapping

Either commands, from Package Manager Console or .NET Core CLI, will download and install AutoMapper.Extensions.EnumMapping. AutoMapper.Extensions.EnumMapping has no dependencies.


Install via NuGet first: Install-Package AutoMapper.Extensions.EnumMapping

To use it:

For method CreateMap this library provide a ConvertUsingEnumMapping method. This method add all default mappings from source to destination enum values.

If you want to change some mappings, then you can use MapValue method. This is a chainable method.

Default the enum values are mapped by value, but it is possible to map by name calling MapByName() or MapByValue().

using AutoMapper.Extensions.EnumMapping;

public enum Source
    Default = 0,
    First = 1,
    Second = 2

public enum Destination
    Default = 0,
    Second = 2

internal class YourProfile : Profile
    public YourProfile()
        CreateMap<Source, Destination>()
            .ConvertUsingEnumMapping(opt => opt
		// optional: .MapByValue() or MapByName(), without configuration MapByValue is used
		.MapValue(Source.First, Destination.Default))
            .ReverseMap(); // to support Destination to Source mapping, including custom mappings of ConvertUsingEnumMapping


AutoMapper provides a nice tooling for validating typemaps. This library adds an extra EnumMapperConfigurationExpressionExtensions.EnableEnumMappingValidation extension method to extend the existing AssertConfigurationIsValid() method to validate also the enum mappings.

To enable testing the enum mapping configuration:

public class MappingConfigurationsTests
    public void WhenProfilesAreConfigured_ItShouldNotThrowException()
        // Arrange
        var config = new MapperConfiguration(configuration =>

        // Assert

No packages depend on AutoMapper.Extensions.EnumMapping.

.NET 6.0

Version Downloads Last updated
3.2.0 7 03/12/2024
3.1.0 10 05/17/2023
3.0.1 33 10/12/2022
3.0.0 26 10/12/2022
2.0.1 1,748 06/27/2022
1.1.0 1,923 06/27/2022
1.0.0 18 08/12/2022