我有两个家长班
class Settings
{
public Field
}
和
class SettingsDb
{
public FieldDB
}
和ForMember表达式的字段映射宽度FieldDB
CreateMap<SettingsDb, Settings>()
.ForMember(dest => dest.Field,
opt => opt.MapFrom(src => some lambda with src.FieldDb));
我还有两个子课程
class AdminSettings : Setting
{
inherits Field
}
class AdminSettingsDb : SettingDb
{
inherits FieldDb
}
如何在不继续为此继承字段执行ForMember的情况下,使用AdminSettingsDb映射AdminSettings?
CreateMap<AdminSettings, AdminSettingsDb>();
现在这些字段在映射
后为空答案 0 :(得分:2)
更简单的解决方案
CreateMap<BaseEntity, BaseDto>()
.ForMember(dest => dest.SomeMember, opt => opt.MapFrom(src => src.OtherMember));
CreateMap<DerivedEntity, DerivedDto>()
.IncludeBase<BaseEntity, BaseDto>();
答案 1 :(得分:1)
将子类包含在父级的映射中。
CreateMap<SettingsDb, Settings>()
.Include<AdminSettings, AdminSettingsDb>()
.ForMember(dest => dest.Field,
opt => opt.MapFrom(src => some lambda with src.FieldDb));
CreateMap<AdminSettings, AdminSettingsDb>();