【发布时间】:2022-11-06 10:12:40
【问题描述】:
AutoMapper 简介:
public class AutoMapperProfile : Profile
{
public AutoMapperProfile()
{
CreateMap<Character, GetCharacterDto>();
CreateMap<AddCharacterDto, Character>();
CreateMap<Weapon, GetWeaponDto>();
CreateMap<User, GetUserDto>();
}
}
服务层:
public async Task<ServiceResponse<GetCharacterDto>> GetSingle(int id)
{
var serviceResponse = new ServiceResponse<GetCharacterDto>();
var dbCharacter = await _context.Characters
.Include(c => c.User)
.FirstOrDefaultAsync(ele => ele.Id == id && ele.User.Id == 1);
serviceResponse.Data = _mapper.Map<GetCharacterDto>(dbCharacter);
return serviceResponse;
}
GetCharacterDto 班级:
public class GetCharacterDto
{
public int Id { get; set; }
public string Name { get; set; } = "Frodo";
public int HitPoints { get; set; } = 100;
public int Strength { get; set; } = 10;
public int Defense { get; set; } = 10;
public int Intelligence { get; set; } = 10;
public RpgClass Class { get; set; } = RpgClass.Knight;
public GetUserDto User = new GetUserDto();
}
GetUserDto 班级:
public class GetUserDto
{
public int Id { get; set; }
public string Username { get; set; } = "";
}
回复:
{
"data": {
"id": 2,
"name": "string",
"hitPoints": 0,
"strength": 10,
"defense": 0,
"intelligence": 0,
"class": 0
},
"success": true,
"message": ""
}
响应数据是模型GetCharacterDto,它具有GetUserDto,但在响应中,不包括User 对象。我不确定这里出了什么问题。谁能帮我解决问题?
【问题讨论】:
标签: c# entity-framework automapper