2017-07-01 47 views
0

訪問目的地元信息從AutoMapper 4移動到6AutoMapper:在6.x版

在ITypeConverter,我們如何訪問父範圍內,所以我們知道正在填充什麼屬性,在4版本:

context.PropertyMap.DestinationProperty 

所以以下是可能的:

public class UserDetailsConvertor : ITypeConverter<OAuthProfile, UserDetials> 
{ 
    public Dto.Accounts.UserDetials Convert(ResolutionContext context) 
    { 
     var src = context.SourceValue as OAuthProfile; 

     if (src == null) return null; 

     if (!context.PropertyMap.DestinationProperty.Name.Contains("Internal")) 
     { 
      return new UserDetials() 
      { 
       Id = src.Id 
      }; 
     } 

     if (src.InternalAccountId.IsNullOrEmpty()) 
     { 
      return null; 
     } 

     return new UserDetials() 
     { 
      Id = src.InternalAccountId 
     }; 
    } 
} 

注意,用戶細節被映射到2個屬性(內部和提供商)這就是上述條件邏輯被整理。

在V6這是不是從我所看到的,有一個項目集合posisble,但這似乎包含整個映射(所有對象)

回答

1

這就是全部了信息。在任何地方捕捉和傳遞這種情況都非常昂貴。您可能需要查看成員解析器。