AutoMapper.Extensions.EnumMapping 3.2.0

Prefix Reserved
dotnet add package AutoMapper.Extensions.EnumMapping --version 3.2.0                
NuGet\Install-Package AutoMapper.Extensions.EnumMapping -Version 3.2.0                
这条命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="AutoMapper.Extensions.EnumMapping" Version="3.2.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件以引用包。
paket add AutoMapper.Extensions.EnumMapping --version 3.2.0                
#r "nuget: AutoMapper.Extensions.EnumMapping, 3.2.0"                
#r 指令可用于 F# Interactive 和多语言笔记本。将其复制到交互式工具或脚本的源代码中,以引用包。
// Install AutoMapper.Extensions.EnumMapping as a Cake Addin
#addin nuget:?package=AutoMapper.Extensions.EnumMapping&version=3.2.0

// Install AutoMapper.Extensions.EnumMapping as a Cake Tool
#tool nuget:?package=AutoMapper.Extensions.EnumMapping&version=3.2.0                

AutoMapper.Extensions.EnumMapping

CI NuGet NuGet MyGet (dev)

摘要

AutoMapper.Extensions.EnumMapping 库让您控制枚举值映射。您可以给每个枚举创建一个自定义的类型转换器。

此库支持像属性一样映射枚举值。

依赖

安装 AutoMapper.Extensions.EnumMapping

您应该通过 NuGet 安装 AutoMapper.Extensions.EnumMapping

Install-Package AutoMapper.Extensions.EnumMapping

或通过 .NET Core 命令行界面

dotnet add package AutoMapper.Extensions.EnumMapping

无论是通过包管理器控制台还是 .NET Core CLI,都会下载并安装 AutoMapper.Extensions.EnumMapping。AutoMapper.Extensions.EnumMapping 没有依赖。

使用方法

首先通过 NuGet 安装: Install-Package AutoMapper.Extensions.EnumMapping

使用方法

对于 CreateMap 方法,此库提供了一个 ConvertUsingEnumMapping 方法。此方法将所有默认映射从源枚举值添加到目标枚举值。

如果您想更改某些映射,则可以使用 MapValue 方法。这是一个链式方法。

默认情况下,枚举值是通过值进行映射的,但也可以通过调用 MapByName()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 提供了用于验证类型映射的出色工具。此库添加了一个额外的扩展方法 EnumMapperConfigurationExpressionExtensions.EnableEnumMappingValidation,用于扩展现有的 AssertConfigurationIsValid() 方法,以便验证枚举映射。

要启用测试枚举映射配置


public class MappingConfigurationsTests
{
    [Fact]
    public void WhenProfilesAreConfigured_ItShouldNotThrowException()
    {
        // Arrange
        var config = new MapperConfiguration(configuration =>
        {
            configuration.EnableEnumMappingValidation();

            configuration.AddMaps(typeof(AssemblyInfo).GetTypeInfo().Assembly);
        });
		
        // Assert
        config.AssertConfigurationIsValid();
    }
}
产品 兼容和附加计算出的目标框架版本。
.NET net6.0 兼容。 net6.0-android 已计算。 net6.0-ios 已计算。 net6.0-maccatalyst net6.0-maccatalyst 已计算。 net6.0-macos net6.0-macos 已计算。 net6.0-tvos net6.0-tvos 已计算。 net6.0-windows net6.0-windows 已计算。 net7.0 net7.0 已计算。 net7.0-android net7.0-android 已计算。 net7.0-ios net7.0-ios 已计算。 net7.0-maccatalyst net7.0-maccatalyst 已计算。 net7.0-macos net7.0-macos 已计算。 net7.0-tvos net7.0-tvos 已计算。 net7.0-windows net7.0-windows 已计算。 net8.0 net8.0 已计算。 net8.0-android net8.0-android 已计算。 net8.0-browser net8.0-browser 已计算。 net8.0-ios net8.0-ios 已计算。 net8.0-maccatalyst net8.0-maccatalyst 已计算。 net8.0-macos net8.0-macos 已计算。 net8.0-tvos net8.0-tvos 已计算。 net8.0-windows net8.0-windows 已计算。
兼容的目标框架
包含的目标框架(在包中)
了解更多关于 目标框架.NET Standard 的信息。

NuGet 包 (7)

显示依赖于 AutoMapper.Extensions.EnumMapping 的顶级 5 个 NuGet 包

下载
FFCEI.Microservices

一个用于 ASP.NET Core 6+ 微服务开发的免费库,包括模型、模型存储库、Entity Framework Core 以及常见的 Web Api 功能,如 CORS、JSON 序列化修复、Swagger 生成和 JWT 身份验证,以实现简单和客观的微服务开发

Dst.Common.Domain

包描述

VRSPRO.Common.Interfaces

一系列用于处理缓存、数据库、队列、消息代理、文件、反射、错误、分页、集合、字符串和ASP NET\Core的内部通用类和扩展。您可以直接在项目中使用此代码。您可以无限制地进行复制、修改和分发,无需提供任何版权声明或引用。

IF.APM.OpenTelemetry.Data.Mapping

沉浸式融合采集相关库。

EApplication.Shared

简单领域驱动电子商务领域运用。

GitHub仓库

此包未在任何流行GitHub仓库中使用。

版本 下载 最后更新
3.2.0 962,385 2/6/2024
3.1.0 2,203,823 4/20/2023
3.0.1 1,582,490 10/12/2022
3.0.0 12,046 10/7/2022
2.0.1 1,606,988 1/7/2022
1.1.0 2,405,860 3/5/2021
1.0.0 785,799 7/9/2020