Automapper配置:重写CreateMap时可以使用.ForAllMembers吗?

时间:2017-04-06 18:10:08

标签: c# asp.net-mvc entity-framework automapper

public class MyProfile : Profile
{
    protected override void Configure()
    {
        base.CreateMap<ViewModel, Domain>()
        .ForMember(dest => dest.Id, opt => opt.MapFrom(src => src.Id))
        //.ForAllMembers(opt => opt.Ignore()) //returns void
        .ReverseMap();
    }
 }

public class ViewModel 
{
    public int Id { get; set; }    
}

public class Domain 
{
    public int Id { get; set; }
    public string UserName {get; set;}
    //public string ... { get; set;}  //etc..
    //...
}

假设我不想映射UserName和许多其他属性。

我可以对映射执行.ForAllMembers(...),以便映射任何未映射的成员吗?

1 个答案:

答案 0 :(得分:0)

不要使用ForAllMembers的东西,看起来像这个版本:

https://github.com/AutoMapper/AutoMapper/wiki/5.0-Upgrade-Guide#ignoreallnonexisting-extension

相反,使用带有MemberList枚举的CreateMap重载:

CreateMap<ViewModel, Domain(MemberList.None)