当字段名不匹配时,Mapster就不会映射。字段根据类型设置为空或零。
如何为目标属性使用自定义名称?
例:我如何将SchoolClassTeacherName改为Name?在下面的代码中和在SchoolDTO类中对其进行更改,将使null成为映射的结果。
我看过文件,但没有答案。求你帮帮我。谢谢。
config.NewConfig<SchoolPoco, SchoolDTO>()
.Map(dest => dest.SchoolClassTeacherName,
src => src.School.Class.Teacher.Name)我的Startup.cs里有这个
var typeAdapterConfig = TypeAdapterConfig.GlobalSettings;
typeAdapterConfig.Scan(Assembly.GetExecutingAssembly());
var mapperConfig = new Mapper(typeAdapterConfig);
services.AddSingleton<IMapper>(mapperConfig);我在一个类中有映射
public class ProjectMappingProfile : IRegister
{
void IRegister.Register(TypeAdapterConfig config)
{
// Mappings here
}
}发布于 2022-05-22 20:57:31
使用TypeAdapterConfig,如文档中所述。
确保设置了学校、班级、教师、姓名属性。
样本代码:
using Mapster;
TypeAdapterConfig<DtoA, DtoB>
.NewConfig()
.Map(dest => dest.Main_Property, src => src.MainProperty)
.Map(dest => dest.Inner_Property, src => src.InnerDto.InnerProperty);
DtoA a = new DtoA()
{
MainProperty = "Hello",
InnerDto = new InnerDto() { InnerProperty = "World" }
};
DtoB b = a.Adapt<DtoB>();
class DtoA
{
public string MainProperty { get; set; }
public InnerDto InnerDto { get; set; }
}
class InnerDto
{
public string InnerProperty { get; set; }
}
class DtoB
{
public string Main_Property { get; set; }
public string Inner_Property { get; set; }
}b变量的结果:

https://stackoverflow.com/questions/72331032
复制相似问题