缺少类型映射配置或不支持的映射,但是映射没有问题

Missing type map configuration or unsupported mapping, however mapping has no issue

所以尽管没有明确的问题,我还是收到了这个错误 missing or unsupported mapping。

这是我的学生模型 class,我想在 class 中列出学生,其 ID 为学生 table。

StudentViewModel -

public class StudentViewModel
{
    public int student_id { get; set; }
    public int class_id { get; set; }
    public string student_name { get; set; }
    public string father_name { get; set; }
    public ClassViewModel Class { get; set; }
}

ClassViewModel -

public class ClassViewModel
{
    public int class_id { get; set; }
    public string class_name { get; set; }
}

它获取了学生列表,但是当涉及到倒数第二行的服务层时,它给出了 ClassViewModel 映射不正确的异常。因此,当我从 StudentViewModel 中删除 ClassViewModel 并且它起作用时,但它不起作用。不知道为什么。

public List<StudentViewModel> GetStudents()
{
    List<Student> s = sr.GetStudents();
    var config = new MapperConfiguration(cfg => { cfg.CreateMap<Student, StudentViewModel>(); cfg.IgnoreUnmapped(); });
    IMapper mapper = config.CreateMapper();
    List<StudentViewModel> svm = mapper.Map<List<Student>, List<StudentViewModel>>(s);
    return svm;
}

如果您的 Student class 有一个名为 Class 且类型为 Class 的 属性,例如 -

public class Student
{
    // other properties
    
    public Class Class { get; set; }
}

然后简单地添加从 ClassClassViewModel -

的映射
var config = new MapperConfiguration(cfg =>
{
    cfg.CreateMap<Student, StudentViewModel>();
    cfg.CreateMap<Class, ClassViewModel>();    // <-- add this one
});