C# Automapper未映射不同的属性名称

C# Automapper未映射不同的属性名称,c#,.net,automapper,C#,.net,Automapper,我有一个名为CarDataDTO的DTO类,其两个属性的名称如下: public decimal FuelTankSize { get; set; } public decimal CarEngineOutput { get; set; } var carData = _myService.GetAllCarData().ToList(); //error checking etc removed for brevity return Mapper.Map<IEnumerable&l

我有一个名为
CarDataDTO
的DTO类,其两个属性的名称如下:

 public decimal FuelTankSize { get; set; }
 public decimal CarEngineOutput { get; set; }
var carData = _myService.GetAllCarData().ToList();
//error checking etc removed for brevity
return Mapper.Map<IEnumerable<CarDataDTO>, IEnumerable<CarData>>(carData);
我使用的是
Dapper
,我可以看到返回的数据,并按照预期映射到DTO中的属性

我使用WebAPI将数据返回到UI-UI上的属性在名为
CarData

 public decimal Size { get; set; }
 public decimal EngineOutput { get; set; }
因此,我尝试使用Automapper来映射这些属性,如下所示-我有一个Automapper配置类,带有一个初始化方法,该方法在
全局.asax.cs中的
应用程序\u Start
中调用

config.CreateMap<CarData, CarDataDTO>()
      .ForMember(dest => dest.FuelTankSize, opt => opt.MapFrom(src => src.Size))
      .ForMember(dest => dest.CarEngineOutput, opt => opt.MapFrom(src => src.EngineOutput))
      .ReverseMap();
config.CreateMap()
.ForMember(dest=>dest.FuelTankSize,opt=>opt.MapFrom(src=>src.Size))
.ForMember(dest=>dest.CarEngineOutput,opt=>opt.MapFrom(src=>src.EngineOutput))
.ReverseMap();
然后,我从DB获取WebAPI方法中的then数据,它是一个数据列表,并按如下方式返回:

 public decimal FuelTankSize { get; set; }
 public decimal CarEngineOutput { get; set; }
var carData = _myService.GetAllCarData().ToList();
//error checking etc removed for brevity
return Mapper.Map<IEnumerable<CarDataDTO>, IEnumerable<CarData>>(carData);
var carData=\u myService.GetAllCarData().ToList();
//为简洁起见,删除了错误检查等
返回Mapper.Map(carData);

通过在carData行上设置断点,我可以看到FuelTankSize和CarEngineOutput具有来自DB的值,正如预期的那样-但是当我在PostMan中运行时,Size和EngineeOutput的值是
0

您需要在
Initialize
方法中指定映射,当您希望以这种方式映射时,则需要反过来指定映射。是否使用ReverseMap不会这样做吗?类似的问题:@Mt.Schneiders-干杯-从未发现进行搜索-我会给出答案,一个go-看起来ReverseMap只适用于简单的情况