c# Automapper - 如何在对象中映射对象

c# Automapper - How to map object in objetc

我想映射这两个对象,

public class Update
{        
    public string aa{ get; set; }               
}

public class Date
{
    public DateTime ww{ get; set; }        
}

 public class Update11
{
    public string aa{ get; set; }        
}

public class Date
{
    public DateTime ww{ get; set; }        
}

我创建地图: CreateMap(); CreateMap();

您需要将 DateRange 模型添加到映射器配置文件中。

CreateMap<namespace1.DateRange, namespace2.DateRange>().ReverseMap();

根据您使用的版本,您还可以使用 .ReverseMap() 而不是显式创建反向映射的映射。

CreateMap<UpdateCost11, UpdateCostDto>().ReverseMap();

尽管 Dto 上的 classes DateRange 和您的主要 class 具有相同的结构,但它们的命名空间不同。并且自动映射器不会按照您的意愿进行映射。

您要么必须删除其中一个 DateRange classes 并使用其中一个,要么按照@Hamlet Hakobyan 的建议,您必须添加以下配置

CreateMap<SourceNameSpace.DateRange, DestinationNameSpace.DateRange>();

Change SourceNameSpace and DestinationNameSpace to the one you have.