2012-08-09 37 views
1

我目前正在使用AutoMapper進行測試,但是我目前有一個屬性名稱不匹配的情況,所以需要自定義類型轉換。 但是當我使用自定義類型轉換器時,我必須手動映射所有其他屬性?我不能在類型轉換器中調用另一個Map,因爲這會導致溢出。AutoMapper,在自定義類型轉換器中調用Mapper.Map()?

這是不需要的,因爲最多有3個模型特定的屬性不匹配每個模型,所以我想讓其他屬性自動映射。

任何人都可以爲我指出正確的方向嗎?

回答

2

您不需要使用自定義類型轉換器來映射其中包含幾個只包含名稱不匹配的屬性的類。自定義類型轉換器適用於您需要時,「完全控制一種類型到另一種類型的轉換」,as they say

設置的地圖CreateMap(),然後設置使用ForMember()一些額外的規則,就像這樣:

Mapper.CreateMap<Person, Customer>() 
    .ForMember(dest => dest.Surname, opt => opt.MapFrom(src => src.LastName)) 
    .ForMember(dest => dest.DateOfBirth, opt => opt.MapFrom(src => src.DOB)); 

此映射LastNameDOB從源頭Person類到目的地Customer類的SurnameDateOfBirth性質。

相關問題