在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
堆棧跟蹤:
AutoMapper.ConfigurationStore.AssertConfigurationIsValid(IEnumerable`1 typeMaps)684 AutoMapper.ConfigurationStore.AssertConfigurationIsValid()12 AutoMapper.Mapper.AssertConfigurationIsValid()23 XXWebSiteMVC3.Core.DependencyResolution.AutomapperRegistry.Configure()在C: \源\ XXWebSiteMVC3 \核心\ DependencyResolution \ AutomapperRegistry.cs:13 XXWebSiteMVC3.MvcApplication.Application_Start()在C:\源\ XXWebSiteMVC3 \ Global.asax.cs中:96
但在每其他後續加載,它按預期工作!?
那麼......爲什麼Thing2失敗,當它的實現匹配Thing1(它一直工作)?爲什麼Thing1在Thing2的錯誤中被提及(我有一種感覺,這是原因,但是如果我能在這個空閒的星期四上午10點看到它,我會感到厭煩)?
Muchos Danke!
你打電話給你的automapper配置?從Application.Start在global.asax.cs中? – Simon 2012-04-19 08:19:52
是的,「Core.DependencyResolution.AutomapperRegistry.Configure();」從global.asax.cs中的Application_Start被調用。由於這是我的第一個MVC應用程序,所以我在這個問題上遇到了一些損失,而且寫這個應用程序的開發人員正在度假,所以我是一個縱隊(誰也不想改變這要歸功於我的無知以及其他任何事情)。 – Campbeln 2012-04-22 23:50:30