AutoMapper とほぼ同様の 2 つのオブジェクトをマップしようとしていますが、1 つのメンバー (AudioSummary) で次の例外が発生します。
EchoNestModel.AudioSummary の次のプロパティはマッピングできません: AudioSummary
カスタム マッピング式を追加するか、無視するか、カスタム リゾルバーを追加するか、宛先タイプ EchoNestModel.AudioSummary を変更します。
環境:
- EchoNest.Api.AudioSummary から EchoNestModel.AudioSummary へのプロパティ 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));
次の 2 行を追加しましたが、まったく別のエラーが発生します。
map.ForMember(s => s.AudioSummary.Profile, t => t.Ignore());
map.ForMember(s => s.AudioSummary.AudioSummaryId, t => t.Ignore());
Expression 's => s.AudioSummary.Profile' は、子オブジェクトのプロパティではなく、トップレベルのメンバーに解決される必要があります。
代わりに、子タイプまたは AfterMap オプションでカスタム リゾルバーを使用してください。
パラメータ名: lambdaExpression
AudioSummaryを正常にマッピングするにはどうすればよいですか?
ソース オブジェクト
対象物