如何使用Automapper 6.1.1 +

时间:2018-04-05 19:23:06

标签: entity-framework entity-framework-6 automapper dynamic-proxy automapper-6

我正在尝试在保存后将实体框架模型映射到视图模型。

//Map my incoming VM to a DTO and save it
Inquiry savedInquiry = InquiryLogic.Save(mapper.Map<InquirySpec>(inquiryVM));

//Map the returned Inquiry back to a VM and return it
return mapper.Map<JournalEntryInquiryVM>(savedInquiry);

我可以成功地将查询映射到JournalEntryInquiryVM,但当我尝试将savedInquiry映射回JournalEntryInquiryVM时,我得到以下异常,因为它实际上并不是只是Inquiry,它是由实体框架创建的动态代理:

  

缺少类型映射配置或不支持的映射。

     

映射类型:   Inquiry_66DF1FFF68CAC6E17FC0F72D753A523B9CCF3AFA55E82C2B5B910A95B0BFCC79    - &GT; JournalEntryInquiryVM System.Data.Entity.DynamicProxies.Inquiry_66DF1FFF68CAC6E17FC0F72D753A523B9CCF3AFA55E82C2B5B910A95B0BFCC79    - &GT; TLGI.CRM.MVCWeb.ViewModels.CustomerAccounts.JournalEntryInquiryVM

在代码的这一点上,我的DbContext已经被处理掉了,我已经检索了我需要的任何导航属性。我只是需要它来进行映射,好像它只是一个查询。

看起来这在旧版本的AutoMapper中是可行的,但是我无法在StackOverflow或Automapper wiki上找到任何关于版本6.1.1的答案(这是我正在使用的)或者后来。 AutoMapper变化如此之大,以至于很难找到任何相关内容。

0 个答案:

没有答案