想象一下这样的类:
class Source
{
public string Name { get; set; }
public string Code { get; set; }
}
class Destination
{
public Destination(string name, int code)
{}
}
我想配置从Source
到的映射Destination
。我希望 AutoMapper 自动匹配Source.Name
到Destination
的name
构造函数参数,因为它们具有相同的名称(不包括命名约定)和类型。但是,第二个构造函数参数需要自定义映射。
到目前为止,我能找到的最好的方法就是手动进行所有映射:
Mapper.CreateMap<Source, Destination>()
.ConstructUsing(source => new Destination(source.Name, /*Custom map for "code" property*/));
但是,通过这样做,我失去了基于约定的映射提供的可维护性改进。