用户映射器在自动映射器中的ForMember
问题描述:
我想知道是否有可能在ForMemeber中“映射”映射对象。我有一个映射类a到b配置。然后我有两个我需要映射c和d的新类,但是结构不同,所以我必须使用ForMember来映射它们之间的配置映射。但是c和d都有一些属性,其中用户在源和目标中都有类。有没有办法说,使用已经配置的映射为c和d中的属性的内部a到b映射?用户映射器在自动映射器中的ForMember
答
如果我没有理解这个权利,你有什么样
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; }
}
而且要在课堂c
和d
性能,而无需重新定义a
和b
映射映射?
如果是这样,你会默认。像这样的东西应该这样做:
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();
}
}
如果你的意思是别的,请更新你的问题来澄清。
谢谢。这就是我的意思。 – Gaotter 2013-04-12 06:52:43