Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AutoMapper在子类中使用父类映射_C#_Automapper - Fatal编程技术网

C# AutoMapper在子类中使用父类映射

C# AutoMapper在子类中使用父类映射,c#,automapper,C#,Automapper,我有两个家长班 class Settings { public Field } 及 和通过FormMember表达式映射的字段宽度FieldDB CreateMap<SettingsDb, Settings>() .ForMember(dest => dest.Field, opt => opt.MapFrom(src => some lambda with src.FieldDb));

我有两个家长班

class Settings
{
     public Field
}

和通过FormMember表达式映射的字段宽度FieldDB

CreateMap<SettingsDb, Settings>()
                 .ForMember(dest => dest.Field,
                 opt => opt.MapFrom(src => some lambda with src.FieldDb));
如何将AdminSettings映射到AdminSettingsDb,而不为此继承字段再次执行FormMember

CreateMap<AdminSettings, AdminSettingsDb>(); 
CreateMap();

现在,映射后此字段为空

包括父类映射中的子类

CreateMap<SettingsDb, Settings>()
    .Include<AdminSettings, AdminSettingsDb>()
    .ForMember(dest => dest.Field,
             opt => opt.MapFrom(src => some lambda with src.FieldDb));

CreateMap<AdminSettings, AdminSettingsDb>(); 
CreateMap()

.Include.

在父类的映射中包括子类

CreateMap<SettingsDb, Settings>()
    .Include<AdminSettings, AdminSettingsDb>()
    .ForMember(dest => dest.Field,
             opt => opt.MapFrom(src => some lambda with src.FieldDb));

CreateMap<AdminSettings, AdminSettingsDb>(); 
CreateMap()
.包括。

更简单的解决方案

   CreateMap<BaseEntity, BaseDto>()
       .ForMember(dest => dest.SomeMember, opt => opt.MapFrom(src => src.OtherMember));

    CreateMap<DerivedEntity, DerivedDto>()
        .IncludeBase<BaseEntity, BaseDto>();
CreateMap()
.formmember(dest=>dest.SomeMember,opt=>opt.MapFrom(src=>src.OtherMember));
CreateMap()
.IncludeBase();
更简单的解决方案

   CreateMap<BaseEntity, BaseDto>()
       .ForMember(dest => dest.SomeMember, opt => opt.MapFrom(src => src.OtherMember));

    CreateMap<DerivedEntity, DerivedDto>()
        .IncludeBase<BaseEntity, BaseDto>();
CreateMap()
.formmember(dest=>dest.SomeMember,opt=>opt.MapFrom(src=>src.OtherMember));
CreateMap()
.IncludeBase();

总是乐于助人:>总是乐于助人:>