2012-06-08 50 views
3

我在AutoMapper以下地圖:使用AutoMapper壓扁對象爲int

AutoMapper.Mapper.CreateMap<MySourceObject, Int32>() 
    .ForMember(d => d, o => o.MapFrom(s => s.Id)); 

我試圖源對象的Id屬性映射到只是一個int作爲目標。

不幸的是,上面提供了以下錯誤:

Custom configuration for members is only supported for 
       top-level individual members on a type 

任何想法?

我所試圖實現的是不必通過對視圖模型傳遞一個整復對象時,所有我需要的是Id綁定到DropDownList,作爲返回提交的表單將無法重新創建複雜的對象,只是返回int。 int是我所需要的:)

現在,我可以在代碼中自己做這件事,但那會減少使用automapper的重要性。

回答

10
Mapper.CreateMap<MySourceObject, int>().ConstructUsing(source => source.Id); 
+0

完美的,正是我需要的:)解決方案提出和測試,但所以不會讓我接受它作爲接受的答案呢:(有限的只是...限制你過分。 – Moo