简体   繁体   English

如何反向映射在 Automapper C# 中显式映射的实体的多个成员?

[英]How to reverse map multiple members of an entity that are mapped explicitely in Automapper C#?

I work on a C# app in which I need to map 2 entities.我在一个 C# 应用程序上工作,我需要在其中映射 2 个实体。 So, I define Create map as below:所以,我定义创建地图如下:

CreateMap<Source, Destination>()
                .ForMember(dest => dest.FirstName, map => map.MapFrom(src => src.Name.First))                                                                                           
                .ForMember(dest => dest.LastName, map => map.MapFrom(src => src.Name.Last))
                .ForMember(dest => dest.SSN, map => map.MapFrom(src => src.SSN))
                .ForMember(dest => dest.HomePhoneNo, map => map.MapFrom(src => src.HomePhoneNumber()))
                .ForMember(dest => dest.Address, map => map.MapFrom(src => src.Address))
                .ForMember(dest => dest.MaritalStatus, map => map.MapFrom(src => (int)src.MaritalStatus))

Now, I want to do ReverseMap, but when I add .ReverseMap for each member, in the next line member, the src and dest are switched.现在,我想做 ReverseMap,但是当我为每个成员添加 .ReverseMap 时,在下一行成员中,src 和 dest 被切换。 So, is there any way to do ReverseMap for all members in just one place?那么,有没有办法在一个地方为所有成员做 ReverseMap 呢?

Put only one ReverseMap() to the end of all custom mappings.仅将一个ReverseMap()放在所有自定义映射的末尾。

This works for me:这对我有用:

using AutoMapper;

class Program
{
    static void Main(string[] args)
    {            
        var configuration = new MapperConfiguration(cfg =>
        {
            cfg.CreateMap<X, Y>()
            .ForMember(dest => dest.Bar1, map => map.MapFrom(src => src.Foo1))
            .ForMember(dest => dest.Bar2, map => map.MapFrom(src => src.Foo2))
            .ReverseMap()                ;                
        });
        configuration.AssertConfigurationIsValid();
        var mapper = configuration.CreateMapper();
        var x1 = new X() {  Foo1 = "1", Foo2 = "2"};
        var mappedY = mapper.Map<Y>(x1);
        var againX = mapper.Map<X>(mappedY);
        Console.WriteLine($"{againX.Foo1} {againX.Foo2}");
    }
}

class X
{
    public string Foo1 { get; set; }
    public string Foo2 { get; set; }
}

class Y
{
    public string Bar1 { get; set; }
    public string Bar2 { get; set; }
}

如何 map Object 列出<object> c# 自动映射器<div id="text_translate"><p>任何想法如何 map 单个 object ot 列表? 我有:</p><pre> class AdditionalData: string data1 string data2 string data3 class Person: AdditionalData additionalData string UCN class AdditionalDataDTO: string data1 string data2 string data3 string data4 string data5 class PersonDTO: AdditionalDataDTO additionalData[] string UCN</pre><p> 那么如何将 map AdditionalData 到 List 我希望源成为第一个 object ot 列表我知道如何将 map AdditionalData 到 AdditionalDataDTO</p></div></object> - How to map Object to List<Object> c# Automapper

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 使用AutoMapper通过DI容器映射未映射的成员 - Use AutoMapper to Map Un-Mapped Members Via a DI Container c# Automapper - 如何在 objetc 中 map object - c# Automapper - How to map object in objetc 自动映射器-如何使用自动映射器将三个实体映射到一个实体? - Automapper - How to map three entity to one with automapper? 自动映射器中的多个映射如何 - how multiple map in automapper 在这种情况下如何使用 c# AutoMapper 映射对象 - How do I map Objects in this scenario using c# AutoMapper 如何在 C# 中使用 Automapper 将 map 阵列到阵列 - How to map array to array using Automapper in C# 如何 map Object 列出<object> c# 自动映射器<div id="text_translate"><p>任何想法如何 map 单个 object ot 列表? 我有:</p><pre> class AdditionalData: string data1 string data2 string data3 class Person: AdditionalData additionalData string UCN class AdditionalDataDTO: string data1 string data2 string data3 string data4 string data5 class PersonDTO: AdditionalDataDTO additionalData[] string UCN</pre><p> 那么如何将 map AdditionalData 到 List 我希望源成为第一个 object ot 列表我知道如何将 map AdditionalData 到 AdditionalDataDTO</p></div></object> - How to map Object to List<Object> c# Automapper C# 如何将 map 内部属性 object 到外部 class 与 AutoMap - C# How to map inner property object to outer class with AutoMapper? 如何使用Entity Framework在c#中访问多对多映射表 - How to access many to many mapped table in c# with Entity Framework 如何使用自动映射器在json中映射类实体? - How to map class entity within json with automapper?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM