鉴于以下来源:
public class SourceBase { public string TheString { get; set; } }
public class SourceDerived : SourceBase { }
和目的地:
public class DestBase { public string MyString { get; set; } }
public class DestDerived : DestBase { }
而这个映射:
CreateMap<SourceBase, DestBase>()
.ForMember(dest => dest.MyString, o => o.MapFrom(x => x.TheString))
.Include<SourceDerived, DestDerived>();
CreateMap<SourceDerived, DestDerived>();
Mapper.AssertConfigurationIsValid(); // Exception is thrown here
但是,这会产生一个映射错误,指出 MyString 未映射到 DestDerived。是什么赋予了?我真的需要在所有派生类型中重复基类属性的映射吗(我的实际代码中确实有多个子类)。
编辑:
确切的例外是无法映射 DestDerived 上的以下 1 个属性:MyString。添加自定义映射表达式,忽略或重命名 DestDerived 上的属性。