2

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を正常にマッピングするにはどうすればよいですか?

ソース オブジェクト

ここに画像の説明を入力

対象物 ここに画像の説明を入力

4

1 に答える 1