如何使用 automapper 将逗号分隔的字符串或 int 映射到 IEnumerable<CustomClass>
How to map with comma delimited string or int to IEnumerable<CustomClass> using automapper
我从给定的数据库
中得到了 IEnumerable<Student>
的结果集
public class Student
{
public int StudentId { get; set; }
public int Name { get; set; }
public string SubjectIds { get; set; } //Comma delimited string of subject ID
public string Grades { get; set; } //Comma delimited string of subject ID
}
如何将其映射到给定的IEnumerable<StudentListItemDto>
public class StudentListItemDto
{
public int StudentId { get; set; }
public int StudentName { get; set; }
public IEnumerable<SubjectGradeDto> Tags { get; set; }
}
给定 SubjectGradeDto
public class SubjectGradeDto
{
public int SubjectId { get; set; }
public string Grade { get; set; }
}
我也很喜欢 linq 解决方案
如果'students'是DB给出的,那么:
var mappedStudents = students.Select(student =>
new StudentListItemDto
{
StudentId = student.StudentId,
StudentName = student.Name,
Tags = student.SubjectIds.Split(',').Select( (subject, i) => new SubjectGradeDto { SubjectId = int.Parse(subject), Grade = student.Grades.Split(',')[i] })
});
我从给定的数据库
中得到了IEnumerable<Student>
的结果集
public class Student
{
public int StudentId { get; set; }
public int Name { get; set; }
public string SubjectIds { get; set; } //Comma delimited string of subject ID
public string Grades { get; set; } //Comma delimited string of subject ID
}
如何将其映射到给定的IEnumerable<StudentListItemDto>
public class StudentListItemDto
{
public int StudentId { get; set; }
public int StudentName { get; set; }
public IEnumerable<SubjectGradeDto> Tags { get; set; }
}
给定 SubjectGradeDto
public class SubjectGradeDto
{
public int SubjectId { get; set; }
public string Grade { get; set; }
}
我也很喜欢 linq 解决方案
如果'students'是DB给出的,那么:
var mappedStudents = students.Select(student =>
new StudentListItemDto
{
StudentId = student.StudentId,
StudentName = student.Name,
Tags = student.SubjectIds.Split(',').Select( (subject, i) => new SubjectGradeDto { SubjectId = int.Parse(subject), Grade = student.Grades.Split(',')[i] })
});