我試圖映射兩個對象是大多與AutoMapper但一個成員(AudioSummary)類似引發以下異常:映射此屬性需要什麼表達式?
上EchoNestModel.AudioSummary下列財產不能映射:AudioSummary
添加自定義映射表達式,忽略,添加自定義解析器或修改目標類型EchoNestModel.AudioSummary。
上下文:
- 映射到從EchoNest.Api.AudioSummary屬性AudioSummary到EchoNestModel.AudioSummary
- 從型EchoNest.Api.TrackProfile映射到EchoNestModel.Profile
類型'AutoMapper.AutoMapperConfigurationException'的異常被拋出。
映射定義
var map = Mapper.CreateMap<TrackProfile, Profile>();
map.ForMember(dest => dest.ForeignIds, opt => opt.ResolveUsing<ForeignIdResolver>());
map.ForMember(dest => dest.ForeignReleaseIds, opt => opt.ResolveUsing<ForeignReleaseIdResolver>());
map.ForMember(s => s.Media, t => t.Ignore());
map.ForMember(s => s.ProfileId, t => t.Ignore());
map.ForMember(s => s.AudioSummary, t => t.MapFrom(s => s.AudioSummary));
我已經添加了以下兩行,但一個完全不同的錯誤發生時:
map.ForMember(s => s.AudioSummary.Profile, t => t.Ignore());
map.ForMember(s => s.AudioSummary.AudioSummaryId, t => t.Ignore());
表達的=> s.AudioSummary.Profile'必須解析爲頂級成員,而不是任何子對象的屬性。
改爲在子類型或AfterMap選項上使用自定義解析器。
參數名:lambdaExpression
我怎樣才能成功映射AudioSummary?
Source對象
目標對象
大,謝謝! – Aybe
其實我得到另一個錯誤:提供的值是EchoNest.Api.TrackProfile類型,但期望System.String []。 更改值解析器源類型,或使用FromMember重定向提供給值解析器的源值。 – Aybe
在答案中看到編輯 –