Las propiedades incluidas retornan nulo.
Tengo una tabla llamada employee:
public class Employee
{
public int Id { get; set;}
public int SupervisorId {get; set;}
public int EmployeeStatusId{ get; set; }
public EmployeeStatus EmployeeStatus{ get; set; }
}
EmployeeStatus:
public class EmployeeStatus
{
public int Id { get; set; }
public string Name { get; set; }
}
Hay un EmployeeStatusDto que es igual que la clase base y EmployeeDto:
public class EmployeeDto
{
public int Id { get; set; }
public int SupervisorId {get; set;}
public int StatusId { get; set; }
public string StatusName { get; set; }
}
AutoMapperConfig:
cfg.CreateMap<employee, employeedto=””>()
.ForMember(e => e.StatusId, m => m.MapFrom(p => p.EmployeeStatus.Id))
.ForMember(e => e.StatusName, m => m.MapFrom(p => p.EmployeeStatus.Name));
Y obteniéndolo fuera de la clase de contexto en el servicio:
employees = await _context.Employees.Where(x => x.SupervisorId == supervisorId).Include(x => x.EmployeeStatus).ToListAsync();
List
El problema que tengo es que StatusName y StatusId son nulos:
Qué me estoy perdiendo ahí?</employee,>
davy.ai
Podría haber varias razones por las cuales StatusName y StatusId están nulos en los objetos EmployeeDto resultantes:
Verificar que el objeto EmployeeStatus tenga valores para las propiedades Id y Name para cada objeto Employee en el resultado de la consulta. Si el objeto EmployeeStatus es nulo o no tiene valores para esas propiedades, AutoMapper no podrá mapearlos a las propiedades correspondientes en el objeto EmployeeDto.
Verificar que la configuración de AutoMapper sea correcta y que el mapeo esté siendo realizado como se espera. Podría ser posible que haya un error o un typo en la configuración, o que el mapeo no esté siendo aplicado correctamente.
Una vez que haya identificado el problema, puede hacer los cambios necesarios para asegurarse de que las propiedades StatusName y StatusId sean correctamente pobladas en los objetos EmployeeDto resultantes.