[英]AutoMapper How to map one class to another class in a ForMember method
[英]Unable to map fields with different names using Automapper ForMember method
我希望將一個名為PortalUser的實體映射到另一個名為UserFacade的實體,它們兩個都具有相同的字段,但是一個字段相同,因為兩個類的字段名稱都不相同。
經過一番谷歌搜索后,我發現了一種將名稱彼此不同的字段相互映射的方法,如此處所述, 如何在屬性名稱不同時指定映射規則
解決方案是使用ForMember函數並明確定義要映射的字段,如上面問題的回答中所述。
我的問題是,ForMember無法按Stackoverflow的幾乎所有答案進行解釋
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role);
var userFacade = AutoMapper.Mapper.Map<UserFacade>(user);
ForMember的第二行表示無法將lambda轉換為字符串類型。 ForMember函數在stackoverflow的幾乎每個答案中都以相同的方式使用,但是在這里似乎不起作用,請幫忙。
嘗試如下:
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role));
也可以確認,這已添加到名稱空間:
using System.Linq;
當我看着這個。 我看到3個可能的原因:
1)錯字問題:
AutoMapper.Mapper.CreateMap(user.GetType(), typeof(UserFacade))
.ForMember(dest => dest.PortalRole, opt => opt.MapFrom(src => src.Role));
2)使用
using AutoMapper;
using System.Linq;
3)沒有角色映射到PortalRole。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.