我正在使用 AutoMapper 将模型转换为视图模型。我已经完成所有设置、测试和工作。作为参考,我的配置方法如下所示:
public static MapperConfiguration Configure()
{
MapperConfiguration mapperConfiguration = new MapperConfiguration(cfg => {
cfg.CreateMap<Ebill, EbillHarvesterTaskVM>()
cfg.CreateMap<Note, NoteVM>();
cfg.CreateMap<LoginItem, LoginCredentialVM>()
cfg.CreateMap<Login, ProviderLoginVM>()
});
mapperConfiguration.CreateMapper();
return mapperConfiguration;
}
这就是我的测试的样子:
public void ValidConfigurationTest()
{
var config = AutoMapperConfig.Configure();
config.AssertConfigurationIsValid();
}
我不明白的是如何访问它以从我的控制器中实际将一个对象映射到另一个对象。我知道我可以在应用程序启动时调用此配置方法,我有一个从 global.asax 调用的应用程序配置类,它调用我的自动映射器配置方法。但我不确定如何从控制器内访问所有这些。我读过有关依赖注入的内容,但我不太熟悉这意味着什么,不知道如何应用它。
我过去使用过 Automapper,但我想我实现了现在不可用的静态 API。配置方法如下所示:
public static void RegisterMappings()
{
AutoMapper.Mapper.Initialize(cfg =>
{
cfg.CreateMap<ManagementCompany, ManagementCompanyViewModel>();
cfg.CreateMap<ManagementCompanyViewModel, ManagementCompany>();
});
}
该配置在Global.asax中调用
AutoMapperConfig.RegisterMappings();
您可以在控制器中调用它来利用映射:
AutoMapper.Mapper.Map(managementCompany, managementCompanyVM);
这个方法已经不行了。当我输入 AutoMapper Mapper 时,没有要调用的 Map 方法。我需要做什么才能访问并使用我的映射?