У меня есть 3 таблицы, которые связаны между собой. Employee, Relative, RelationTypeCatalog. Отношения IX_Relatives_EmployeeId
и IX_Relatives_RelationTypeCatalogId
. Я пытаюсь добиться того, чтобы при возвращении списка родственников сотрудника я хотел, чтобы в поле «Отношения» отображалось значение, хранящееся в «RelationType», которое является свойством класса RelationTypeCatalog.
Я являюсь новымдля кодирования и автоматизации, я мог бы действительно использовать некоторую помощь и руководство. Я смог получить как можно больше поля «Отношения». Вот код
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public string DNI { get; set; }
public ICollection<Relative> Relatives { get; set; }
}
public class Relative
{
public int Id { get; set; }
public string Name { get; set; }
public DateTime DateOfBirth { get; set; }
public Employee Employee { get; set; }
public int EmployeeId { get; set; }
public RelationTypeCatalog RelationTypeCatalog { get; set; }
public int RelationTypeCatalogId { get; set; }
}
public class RelationTypeCatalog
{
public int Id { get; set; }
public string RelationType { get; set; }
public ICollection<Relative> Relatives { get; set; }
}
public class RelativeToReturnDto
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public string Relationship { get; set; }
}
and here is the Automapper
public class AutoMapperProfiles : Profile
{
CreateMap<Relative, RelativeToReturnDto>()
.ForMember(dest => dest.Age,
opt => opt.MapFrom(src => src.DateOfBirth.CalculateAge()))
.ForMember(dest => dest.Relationship,
opt => opt.MapFrom(src => src.RelationTypeCatalog.RelationType));
}
Вот ответ JSON, который я получаю.
{
"id": 1,
"name": "Camacho",
"age": 29,
"dni": "(865) 494-2026",
"relatives": [
{
"id": 3,
"name": "Diego",
"age": 15,
"relationship": null
}
}
Я ожидаю получить "relationship": "Espouse"
, соответствующее значению в поле 'RelationType'