【问题标题】:Automapping complex objects in a profile自动映射配置文件中的复杂对象
【发布时间】:2018-11-27 15:57:32
【问题描述】:

鉴于以下类结构...

public class Response
{
     public Data SomeData { get; set; }
     public Data2 SomeMoreData { get; set; } 
}

public class Data
{
     public String DataString { get; set; }
}

public class Data2
{
     public String DataString2 { get; set; }
}

public class MyData
{
     public String DataString { get; set; }
     public String DataString2 { get; set; }
}

并给出以下(非常简化的)AutoMapper 配置文件类

public class MyProfile : Profile
{
     public MyProfile()
     {
          CreateMap<Data, MyData>();

          CreateMap<Data2, MyData>();
     }
}

如何在配置文件中创建另一个映射,以便在实际执行映射时可以使用它...

Response currentResponse = GetResponse();
var result = mapper.Map<MyData>(currentResponse);

我有一些具有很多属性的类,其中大部分可以被映射,而不必非常摆弄属性,但我想要一些简单的代码调用来进行测试和可维护性。

我已经看到很多关于静态 Mapper 类的答案,但在配置文件方面我没有找到太多答案。

谢谢!

【问题讨论】:

    标签: c# automapper


    【解决方案1】:

    我认为您正在寻找的内容类似于以下内容:

     MapperConfiguration config = new MapperConfiguration(expression => expression.AddProfile(new MyProfile()));
     IMapper mapper = config.CreateMapper();
    

    您现在有一个 IMapper 的实例,可以通过您选择的 DI 作为单例注入。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-21
      相关资源
      最近更新 更多