是否可以自动创建自动映射器映射?

San*_*dro 1 .net c# automapper asp.net-mvc-3

也许这是一个愚蠢的问题,但对我来说真的不是很明显:(

var address = new Address { Id = 1, Name = "John Doe" };

// Configure AutoMapper
Mapper.CreateMap<Address, AddressViewModel>();

// Perform mapping
var viewModel = Mapper.Map<Address, AddressViewModel>(address);
Run Code Online (Sandbox Code Playgroud)

不需要Imho Mapper.CreateMap<Address, AddressViewModel>();,因为AutoMapper会在执行映射后获取此信息。

那么,为什么我必须编写那些配置?

Sim*_*ead 5

快速浏览源,似乎将其映射存储在引擎中,以便随后进行的所有调用均从引擎加载映射数据。

这可能是由于反射可能很昂贵的事实,并且AutoMapper无法知道某人仅使用Mapper.Map的次数(或次数)。定义:缓存:)