映射到新实体或现有实体时的自定义映射

Custom mapping when mapping to new or existing entities

我已经在我的 ASP.NET 核心应用程序中成功使用了 AutoMapper。我正在创建映射配置并且主要使用 ForMemberBeforeMapAfterMap 来自定义某些映射。

现在我有一个特定的场景,我在其中导入数据并更新现有实体(如果存在)或创建新实体(如果不存在)。我也想使用 AutoMapper 来映射实体。

例如(保持简单)我有一个导入 class:

public class ImportModel
{
    public int Number { get; set; }
    public string Description { get; set; }
}

而实际模型class:

public class ActualModel
{
    public int Id { get; set; }
    public int Number { get; set; }
    public string Description { get; set; }
}

当我解析和遍历导入行时,我目前所做的是:

var model = modelService.Get(x => x.Number == item.Number);
if (model != null)
{
    model.Description = item.Description ;
}
else
{
    model = new ActualModel() {
        Number = item.Number,
        Description = item.Description 
    };
} 

现在,基本上我想将上面的内容更改为(希望)使用映射配置到 add/update 模型的单行。

是否有可能实现这一目标(也许使用额外的 AutoMapper 功能客户解析器、构造器等)?

过载

destination = mapper.Map<TSource, TDestination>(source, destination);

成功了。