X / WebSiteMVC3 / Core / DependencyResolution / XProfile.csには、次のような既存のマッピングがあります。
CreateMap<DomainObjects.Entities.Thing1, Models.Thing1>();
CreateMap<Models.Thing1, DomainObjects.Entities.Thing1>()
.ForMember(a => a.Thing2, opt => opt.Ignore())
.ForMember(a => a.ModifiedBy, opt => opt.Ignore())
.ForMember(a => a.ModifiedDate, opt => opt.Ignore())
.ForMember(a => a.CreatedBy, opt => opt.Ignore())
.ForMember(a => a.CreatedDate, opt => opt.Ignore());
そして、その子オブジェクトのマッピングを追加する必要があったので、次のように入力します。
CreateMap<DomainObjects.Entities.Thing2, Models.Thing2>();
CreateMap<Models.Thing2, DomainObjects.Entities.Thing2>()
.ForMember(a => a.ModifiedBy, opt => opt.Ignore())
.ForMember(a => a.ModifiedDate, opt => opt.Ignore())
.ForMember(a => a.CreatedBy, opt => opt.Ignore())
.ForMember(a => a.CreatedDate, opt => opt.Ignore());
そして、それは機能しますが、最初のページのロードを除いて、私はこれを取得します:
マップされていないメンバーが見つかりました。以下のタイプとメンバーを確認してください。カスタムマッピング式を追加するか、無視するか、カスタムリゾルバーを追加するか、送信元/宛先タイプを変更します
Thing2-> Thing2(宛先メンバーリスト)
XXWebSiteMVC3.Models.Thing2-> XXDomainObjects.Entities.Thing2(宛先メンバーリスト)
事1
スタックトレース:
AutoMapper.ConfigurationStore.AssertConfigurationIsValid(IEnumerable`1 typeMaps)+684 AutoMapper.ConfigurationStore.AssertConfigurationIsValid()+12 AutoMapper.Mapper.AssertConfigurationIsValid()+23 XXWebSiteMVC3.Core.DependencyResolution.AutomapperRegistry.Configure()in C:\ Source \ XXWebSiteMVC3 Core \ DependencyResolution \ AutomapperRegistry.cs:13 C:\ Source \ XXWebSiteMVC3 \ Global.asax.cs:96のXXWebSiteMVC3.MvcApplication.Application_Start()
しかし、その後のすべてのロードでは、意図したとおりに機能します!?
では、Thing2の実装がThing1の実装と一致するのに(常に機能する)、なぜThing2が失敗するのでしょうか。そして、なぜThing1がThing2のエラーで言及されているのですか(これが原因だと感じていますが、このアイドル状態の木曜日の午前10時にそれを見ることができればとんでもないです)。
ムチョスダンケ!