我有一个非常简单的问题......是否可以像这样设置 AutoMapper:
public IMapper Init()
{
var config = new MapperConfiguration(cfg =>
{
cfg = MappingModelsToViewModels(cfg);
});
return config.CreateMapper();
}
我将每个映射拆分为如下方法:
public IMapperConfigurationExpression MappingModelsToViewModels(IMapperConfigurationExpression cfg)
{
cfg = SKU(cfg);
cfg = Lot(cfg);
cfg = SalesRate(cfg);
cfg = SpecialSalesRate(cfg);
cfg = Order(cfg);
//...
return cfg;
}
public IMapperConfigurationExpression SKU(IMapperConfigurationExpression cfg)
{
// HTTPGET
cfg.CreateMap<SKU, SKUViewModel>() //...
return cfg;
}
我问是因为我收到了这个错误:
映射器未初始化。使用适当的配置调用初始化。如果您尝试通过容器或其他方式使用映射器实例,请确保您没有对静态 Mapper.Map 方法的任何调用,并且如果您使用 ProjectTo 或 UseAsDataSource 扩展方法,请确保传入适当的 IConfigurationProvider实例。
我通过将部分映射代码移动到新的 MapperConfiguration 进行了测试,它正在工作。
谢谢,
大卫