Я занимаюсь разработкой сайта с использованием Asp net MVC и EF.
Я решил не переносить объекты домена в слой представления, поэтому я создаю DTO для этого (и Automapper для сопоставления домена с объектами dto)
У меня есть страница Курс / Список , в котором перечислены все курсы.
Поэтому я создаю CourseDTO
public class CourseDTO{
public String Id { get; set; }
public String Title { get; set; }
public String Description { get; set; }
public List<ArgumentsDTO> Arguments {get;set;} //NOTE THIS
}
public class CourseListViewModel{
public List<CourseDTO> Courses { get; set; }
}
На странице Курс / Подробно / 123 я также хочу показать преподавателей курса.
Какое лучшее решение?
Повторно используйте CourseDTO и приведите список учителей в представление, используя отдельный список
public class CourseDetailViewModel{
public CourseDTO Course { get; set; }
public List<TeacherDTO> Teachers {get;set;} //NOTE THIS
}
или создать CourseDetailDTO, который также содержит список учителей?
public class CourseDetailDTO{
public String Id { get; set; }
public String Title { get; set; }
public String Description { get; set; }
public List<ArgumentsDTO> Arguments {get;set;}
public List<TeacherDTO> Teachers {get;set;} //NOTE THIS
}
В этом последнем случае у меня будет два DTO для одного и того же объекта домена.