【发布时间】:2017-01-17 00:46:29
【问题描述】:
我有一个非常简单的问题... 是否可以像这样设置 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 进行了测试,它正在工作。
谢谢,
大卫
【问题讨论】:
标签: c# asp.net-mvc automapper-5