0
首先,抱歉我的英文不好!我是法國人。Automapper.mapper.map不起作用,但是mapper.dynamicmap工作
我試圖找到谷歌,但沒有任何結果的話,這是我的automapper配置:
public void CreateMap(IMapperConfiguration cfg)
{
cfg.CreateMap<GroupeApplication, GroupeApplicationContract>();
cfg.CreateMap<Application, ApplicationContract>()
.ForMember(d => d.GroupeApplicationId, o => o.MapFrom(s => s.GroupeApplication != null ? s.GroupeApplication.Id : Guid.Empty));
cfg.CreateMap<Application, ApplicationWithAscendantContract>()
.ForMember(d => d.GroupeApplication, o => o.MapFrom(s => Mapper.Map<GroupeApplicationContract>(s.GroupeApplication)));
cfg.CreateMap<GroupeApplication, GroupeApplicationWithDescendantContract>()
.ForMember(d => d.Applications, o => o.MapFrom(s => Mapper.Map<List<ApplicationContract>>(s.Applications)));
Mapper.AssertConfigurationIsValid();
}
事實上,groupeapplication具有應用的列表,Mapper.Map失敗時,它嘗試映射我的應用程序收集...這是錯誤消息:
缺少類型映射配置或不支持的映射。
映射類型: 應用 - > ApplicationContract UGO.Distribution.Domain.Application - > UGO.Distribution.Shared.Contracts.ApplicationContract
目標路徑: List`1 [0]
源值: UGO.Distribution.Domain.Application
如果我這個它的工作原理替換最後一個配置(我用Mapper.DynamicMap更換Mapper.Map):
cfg.CreateMap<GroupeApplication, GroupeApplicationWithDescendantContract>()
.ForMember(d => d.Applications, o => o.MapFrom(s => Mapper.DynamicMap<List<ApplicationContract>>(s.Applications)));
我可以滿意,但那不適合我是這個方法在automapper 4.0.3中被棄用!
這個問題有沒有解釋或更好的解決方案?
你確定它不是'Group'代替'Groupe'? –
@NickBull他說,在開始的問題「我是法國人」:) :) –
@HakamFostok不,我不敲門!我的意思是這個類實際上命名爲'Group'而不是'Groupe',導致Type錯誤。 –