X/WebSiteMVC3 /コア/ DependencyResolution/XProfile.cs、私持っている。このような少し何かに見える既存のマッピング:AutoMapperのAssertConfigurationIsValidは最初のロード時にのみ失敗しますか?で
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(デスティネーションメンバーリスト)
Thing1
のStackTrace:
AutoMapper.ConfigurationStore.AssertConfigurationIsValid(IEnumerable`1タイプマップ)684 AutoMapper.ConfigurationStore.AssertConfigurationIsValid()Cで+12 AutoMapper.Mapper.AssertConfigurationIsValid()+23 XXWebSiteMVC3.Core.DependencyResolution.AutomapperRegistry.Configure(): \ソース\ XXWebSiteMVC3 \ Global.asax.cs:C 13 XXWebSiteMVC3.MvcApplication.Application_Start():\ソース\ XXWebSiteMVC3 \コア\ DependencyResolution \ AutomapperRegistry.cs 96
しかし、すべてオン他の後続のロード、それは意図したとおりに動作します!
だから... Thing2の実装がThing1の実装と一致すると、なぜThing2が失敗するのですか(常に動作します)?そしてなぜThing1がThing2のエラーで言及されているのですか(私はこれが原因だと感じていますが、このアイドルの木曜日の午前10時にそれを見ることができれば駄目です)?
Muchos Danke!最後に
どのようにオートマッパーの設定を呼び出していますか? Application_Start from global.asax.cs? – Simon
はい、 "Core.DependencyResolution.AutomapperRegistry.Configure();" global.asax.cs内のApplication_Startから呼び出されています。私は、これが最初のMVCアプリケーションであり、それを書いた開発者が休暇中であるという事実のために、この問題の損失を経験していたので、私はストリンガーだ(誰も変更したくない私の無知のおかげでコードベースのほうがずっと多くなりました)。 – Campbeln