我有以下这些类:
public class SourceA
{
public double SourceAProp { get; set; }
}
public class SourceB
{
public double SourceBProp { get; set; }
}
public class Dest
{
public double SourceAProp { get; set; }
public double SourceBProp { get; set; }
}
我曾尝试过:
var config = new MapperConfiguration(cfg => cfg.CreateMap<SourceA, Dest>());
var mapper = config.CreateMapper();
var dest = mapper.Map<SourceA, Dest>(sourceA.Value);
config = new MapperConfiguration(cfg => cfg.CreateMap<SourceB, Dest>());
mapper = config.CreateMapper();
dest = mapper.Map<SourceB, Dest>(sourceB.Value);
但是我认为每次执行Map
都会创建一个实例。
我该如何使用AutoMapper创建一个单一的Dest
实例,并将SourceA
和SourceB
实例的值合并到这个实例中(或在第一次执行后更新创建的实例)?
<TSource, TDest>
时才存在此重载 - 如果只指定Map<TDest>(...)
,则不存在该重载。请参考源代码。 - qJake