Как мне правильно сопоставить это с помощью Automapper? - PullRequest
0 голосов
/ 01 августа 2020

У меня есть представление индекса, которое направляет к представлению сведений для каждого студента через StudentId. В представлении сведений отображается частичное представление информации о курсе студента (также направляемой через StudentId). Информация о курсе в настоящее время поступает из двух таблиц: StudentCourse и StudentCoursePast.

Я хотел бы добавить третью таблицу - Course, чтобы я мог получить соответствующий CourseTitle для каждого CourseId в моей StudentCourseViewModel. С помощью приведенного ниже кода я могу получить правильные данные из таблиц studentCourse и StudentCoursePast.

Однако все мои попытки сопоставить таблицу курса, чтобы я мог получить поле CourseTitle, были тщетными. Я новичок в C#. Если я плохо поработал со своим объяснением, пожалуйста, не жарьте меня слишком плохо.

Student
public string StudentId
public string Name

StudentCourse
public string StudentId
public string Courseid
public DateTime Date

StudentCoursePast
public string StudentId
public string CourseId
public DateTime Date

Courses
Public string CourseId
Public string CourseTitle

StudentCourseViewModel
public string Courseid
public string CourseTitle
public DateTime Date

AutoMapperProfile
CreateMap<StudentCourse, StudentCourseViewModel>
CreateMap<StudentCoursePast, StudentCourse>
CreateMap<Course, StudentCourseViewModel>.ForMember(dest => dest.Courseid, opts => opts.MapFrom(src => src.CourseId));

StudentController
var course = _context.StudentCourses.Where (s => s.StudentId == student.StudentId).ToList();
var coursePast = _context.StudentCoursesPast.Where (s => s.StudentId == student.StudentId).ToList();
var studentCourse = course.Union(_mapper.Map<List<StudentCoursePast>, List<StudentCourse>>(coursePast)).ToList();

model.StudentCourse=_mapper.Map<IList<StudentCourse>, IList<StudentCourseViewModel>>(studentCourse);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...