当将不同的ViewModels映射到相同的Model时,会触发AutoMapperMappingException
本文关键字:AutoMapperMappingException Model ViewModels 映射 | 更新日期: 2023-09-27 18:06:03
我正在使用Automapper将我的视图模型映射到我的域模型。在我的情况下,我有两个ViewModels,我需要被映射到相同的模型。
我为每个视图模型创建两个配置文件,然后在Mapper.Initialize
中添加它们。然后在我的控制器中,当我尝试将我的ViewModel映射到模型时,我可以将它传递给服务,我得到了这个错误Missing type map configuration or unsupported mapping.
public static class AutoMapperWebConfiguration
{
public static void Configure()
{
Mapper.Initialize(cfg => cfg.AddProfile(new CompanyRegisterViewModelProfile()));
Mapper.Initialize(cfg => cfg.AddProfile(new CompanyActivateViewModelProfile()));
}
}
然后在我的控制器中:
CompanyEmployee CompanyEmployee = Mapper.Map<CompanyRegisterViewModel, CompanyEmployee>(model,);
现在,如果我删除了第二个配置文件CompanyActivateViewModelProfile
,我没有得到任何错误和映射是正确完成的。你知道我哪里做错了吗?
通过两次调用Mapper.Initialize
来重新初始化AutoMapper,从而删除第一个概要文件。试试这个:
Mapper.Initialize(cfg =>
{
cfg.AddProfile(new CompanyRegisterViewModelProfile());
cfg.AddProfile(new CompanyActivateViewModelProfile());
});