我正在尝试在保存后将实体框架模型映射到视图模型。
//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变化如此之大,以至于很难找到任何相关内容。