c# - 将扁平字符串映射到列表

标签 c# automapper

好的,关于 AutoMapper 的完全菜鸟问题。

员工模型对象。

public class Employee {
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public decimal HourlyRate { get; set; }
    public List<string> EmailAddresses { get; set; }
}

Dto对象:

public class UpdateEmployeeDetailsDto {
    public decimal HourlyRate { get; set; }
    public string EmailAddress1 { get; set; }
    public string EmailAddress2 { get; set; }
}

我想将 DTO 映射到 Employee 对象并将 EmailAddress1 和 EmailAddress2 变成一个列表。

我已经在 google 和 SO 上搜索过这种类型的东西,但是我发现我无法将它们翻译成工作代码。

有什么帮助吗?

最佳答案

使用 AfterMap 提供自定义映射(在您的情况下从属性创建列表):

Mapper.CreateMap<UpdateEmployeeDetailsDto, Employee>()
      .AfterMap((dto, e) => e.EmailAddresses = new List<string>() {
          dto.EmailAddress1,
          dto.EmailAddress2
      });

关于c# - 将扁平字符串映射到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14322785/

相关文章:

c# - 响应任务完成 : `.ContinueWith()` vs `GetAwaiter().OnCompleted()`

c# - 监听MySQL数据库变化

c# - AutoMapper.AutoMapperMappingException异常

entity-framework - 根据某些条件与另一个表连接后设置 IQueryable<T> 中的属性值

c# - 如何传入异步函数以在函数类中接收值

c# - 将数据发布到 Controller .net 核心

c# - 带有消息队列的发布订阅者模型库

c# - 使用 MongoDB 和 ASP.NET MVC 构建 Web 应用程序,我应该使用 C# 驱动程序还是 Javascript 驱动程序

c# - 自动映射器复杂对象

c# - 使用自定义属性映射属性