当将不同的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,我没有得到任何错误和映射是正确完成的。你知道我哪里做错了吗?

当将不同的ViewModels映射到相同的Model时,会触发AutoMapperMappingException

通过两次调用Mapper.Initialize来重新初始化AutoMapper,从而删除第一个概要文件。试试这个:

Mapper.Initialize(cfg => 
    {
        cfg.AddProfile(new CompanyRegisterViewModelProfile());
        cfg.AddProfile(new CompanyActivateViewModelProfile());
    });
相关文章:
  • 没有找到相关文章