AutoMapper-当源属性不可用时,将目标属性设置为null

时间:2020-02-21 13:24:14

标签: c# asp.net-core automapper

我有以下两个对象-

public class Customer
{
    public Customer(string userName, string email)
    {
        this.UserName = userName;
        this.Email = email;
    }

    public string UserName { get; }
    public string Email { get; set; }
}

public class CustomerUpdate
{
    public string Email { get; set; }
}

我不想在Customer中添加构造函数以仅初始化Email。我可以创建从CustomerUpdateCustomer的地图,以便将UserName设置为null吗?

(我正在使用AutoMapper 9.0.0)

1 个答案:

答案 0 :(得分:1)

您可以创建一个映射并明确说明要使用的构造函数。

CreateMap<CustomerUpdate, Customer>()
.ConstructUsing(s => new Customer(null, s.Email))

有关更多详细信息,请查看此答案 https://stackoverflow.com/a/2239647/7772646