为了账号安全,请及时绑定邮箱和手机立即绑定

使用 POCO 类、Unity 和 EF6 更新记录后的 Automapper 错误

使用 POCO 类、Unity 和 EF6 更新记录后的 Automapper 错误

C#
回首忆惘然 2022-06-12 11:27:25
我创建了一个使用自动映射器的应用程序,一切似乎都已配置并在浏览模式下正常工作,但是在更新记录后,我得到以下映射错误:  AutoMapper.AutoMapperMappingException was unhandled by user code  HResult=-2146233088  Message=Missing type map configuration or unsupported mapping.  Mapping types:  Organisation -> ViewModelOrganisation我已经在应用程序启动中注册了 automapper:protected void Application_Start()    {        App_Start.AutoMapperConfig.Initialize();    }然后在 Automapperconfig 中完成映射:public class AutoMapperConfig{    public static void Initialize()    {        Mapper.Initialize(cfg =>        {            cfg.CreateMap<Organisation, ViewModelOrganisation>().ReverseMap();            cfg.CreateMap<Article, ViewModelArticle>().ReverseMap();            cfg.CreateMap<Organisation, ViewModelAdminOrg>().ReverseMap();            cfg.CreateMap<Branch, ViewModelBranch>().ReverseMap();        });    }}当应用程序启动并且我可以浏览该站点时,这会点击确定。当我保存记录(更新)时会出现问题。信息会保存,但是当我返回另一个页面浏览该站点时,我会遇到映射错误。更新:我在控制器中映射如下:public ActionResult Detail(int id)    {        Organisation org = new Organisation();        ViewModelOrganisation vm = new ViewModelOrganisation();        org = _orgService.getOrganisationByOrgID(id);        vm = Mapper.Map(org, vm);        return View(vm);    }错误发生在一行:vm = Mapper.Map(org, vm)。它也出现在使用映射器的其他页面上。但只有在我更新了管理面板中的记录之后。
查看完整描述

2 回答

?
LEATH

TA贡献1936条经验 获得超6个赞

正如您的完整异常消息所述,映射器没有从Organisationto的映射ViewModelOrganisation。我不确定,但是反向映射旁边是否也不需要法线映射?所以尝试添加cfg.CreateMap<Organisation, ViewModelOrganisation>().


您也可以将代码简化为:


public ActionResult Detail(int id)

{

    var org = _orgService.getOrganisationByOrgID(id);

    var vm = Mapper.Map<ViewModelOrganisation>(org);

    return View(vm);

}


查看完整回答
反对 回复 2022-06-12
?
MMTTMM

TA贡献1869条经验 获得超4个赞

在 global.asa 中初始化映射器之前,我在控制器本身中执行此操作。我未能从控制器中删除正在编辑文章记录的行(下):

 Mapper.Initialize(cfg => cfg.CreateMap<Article, ViewModelArticle>());

这一定使启动时创建的映射无效,因此当我浏览网站的其余部分时出现错误。

经验教训...确保只初始化映射器一次!


查看完整回答
反对 回复 2022-06-12
  • 2 回答
  • 0 关注
  • 190 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信