2013-04-11 108 views
0

我想知道是否有可能在ForMemeber中「映射」映射對象。我有一個映射類a到b配置。然後我有兩個我需要映射c和d的新類,但是結構不同,所以我必須使用ForMember來映射它們之間的配置映射。但是c和d都有一些屬性,其中用戶在源和目標中都有類。有沒有辦法說,使用已經配置的映射爲c和d中的屬性的內部a到b映射?用戶映射器在自動映射器中的ForMember

回答

1

如果我沒有理解這個權利,你有什麼樣

public class a 
{ 
    public int Foo { get; set; } 
} 

public class b 
{ 
    public int Bar { get; set; } 
} 

public class c 
{ 
    public a Baz { get; set; } 
} 

public class d 
{ 
    public b Qux { get; set; } 
} 

而且要在課堂cd性能,而無需重新定義ab映射映射?

如果是這樣,你會默認。像這樣的東西應該這樣做:

public static class AutoMapperConfigurator 
{ 
    public static void Configure() 
    { 
     AutoMapper.Mapper.CreateMap<a, b>() 
      .ForMember(dest => dest.Bar, opt => opt.MapFrom(src => src.Foo)); 
     AutoMapper.Mapper.CreateMap<c, d>() 
      .ForMember(dest => dest.Qux, opt => opt.MapFrom(src => src.Baz)); 
     AutoMapper.Mapper.AssertConfigurationIsValid(); 
    } 
} 

如果你的意思是別的,請更新你的問題來澄清。

+0

謝謝。這就是我的意思。 – Gaotter 2013-04-12 06:52:43