Привет всем!
Нужна помощь по маппингу)
Есть три сущности и 2 DTO - их составляющие не влияют сильной роли, но смысл в связи.
public class ClassroomDTO
{
public Guid Id { get; set; }
public byte Number { get; set; }
public char Letter { get; set; }
public IList<TeacherDTO> Teachers { get; set; }
}
public class TeacherDTO
{
public Guid Id { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
public byte Age { get; set; }
public string Position { get; set; }
public IList<ClassroomDTO> Classrooms { get; set; }
}
public ClassroomEntity : BaseEntity
{
public ClassroomEntity() : base()
{
Teachers = new List<TeacherClassroomEntity>();
}
public byte Number { get; set; }
public char Letter { get; set; }
public virtual IList<TeacherClassroomEntity> Teachers { get; set; }
}
public TeacherEntity : BaseEntity
{
public TeacherEntity() : base()
{
Classrooms = new List<TeacherClassroomEntity>();
}
public string Name { get; set; }
public string Surname { get; set; }
public byte Age { get; set; }
public EPosition Position { get; set; }
public virtual IList<TeacherClassroomEntity> Classrooms { get; set; }
}
public class TeacherClassroomEntity
{
public Guid TeacherId { get; set; }
public Guid ClassroomId { get; set; }
public TeacherEntity Teacher { get; set; }
public ClassroomEntity Classroom { get; set; }
}
Получаю например учителя, примерно вот так: _uow.Teachers.Entities.Include(x => x.Classrooms).ThenInclude(x => x.Classroom); - полная информация по учителю включая классы в которых он ведет.
Теперь сами маппы:
Что-то вроде такого:
CreateMap<TeacherEntity, TeacherDTO>();
CreateMap<ClassroomEntity, ClassroomDTO>();
И вот тут вопрос как прописать такую маппу:
CreateMap<TeacherClassroomEntity, ClassroomDTO>()???
вот так: .ForMember(dest => dest, opt => opt.MapFrom(source => source.Classroom)? - ругается.
Так как быть? Потому как EF отрабатывает хорошо, а с маппить я не могу.
P.S. Если можно то с объяснением) И если все в корне не правильно пожалуйста приведите пару примеров!)
P.S. ForMemeber - по каждому свойству я знаю, но у меня есть перегруженные DTO (так называемые СущностьStatsDTO - которые состоят из очень большой кучи полей)