Asp.net mvc 为什么会出现缺少类型映射配置错误?
我已经修改了Contosuniversity教程:现在我尝试使用AutoMapper将对象映射到对象 以下是我的模型视图:Asp.net mvc 为什么会出现缺少类型映射配置错误?,asp.net-mvc,automapper,Asp.net Mvc,Automapper,我已经修改了Contosuniversity教程:现在我尝试使用AutoMapper将对象映射到对象 以下是我的模型视图: public class InstructorIndexData { public IEnumerable<Instructor> Instructors { get; set; } public IEnumerable<Course> Courses { get; set; } public IEnumerable<E
public class InstructorIndexData
{
public IEnumerable<Instructor> Instructors { get; set; }
public IEnumerable<Course> Courses { get; set; }
public IEnumerable<Enrollment> Enrollments { get; set; }
public IEnumerable<Student> Students { get; set; }
public IEnumerable<Assignment> Assignments { get; set; }
}
代码在这里
[HttpPost]
public ActionResult ClassAttendance(InstructorIndexData viewModel)
{
if (ModelState.IsValid)
{
AutoMapper.Mapper.CreateMap<AttendanceData, Assignment>();
AutoMapper.Mapper.CreateMap<AttendanceData, Enrollment>();
AutoMapper.Mapper.CreateMap<AttendanceData, Student>();
AutoMapper.Mapper.CreateMap<AttendanceData, Instructor>();
Instructor newInstructor = new Instructor();
Student newStudent = new Student();
Assignment newAssignment = new Assignment();
Enrollment newEnrollment = new Enrollment();
AutoMapper.Mapper.Map(viewModel, newInstructor );
AutoMapper.Mapper.Map(viewModel, newStudent);
AutoMapper.Mapper.Map(viewModel, newEnrollment);
AutoMapper.Mapper.Map(viewModel, newAssignment);
db.Assignments.AddObject(newAssignment).;
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
[HttpPost]
公共行动结果课堂出勤率(讲师索引数据视图模型)
{
if(ModelState.IsValid)
{
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
讲师new讲师=新讲师();
学生新闻学生=新学生();
赋值newAssignment=新赋值();
Enrollment newEnrollment=新注册();
AutoMapper.Mapper.Map(viewModel,New讲师);
AutoMapper.Mapper.Map(viewModel,newStudent);
AutoMapper.Mapper.Map(viewModel,newEnrollment);
AutoMapper.Mapper.Map(viewModel,newAssignment);
db.Assignments.AddObject(newAssignment)。;
db.SaveChanges();
返回操作(“索引”);
}
返回视图();
}
当我调试代码时,代码停在这里“AutoMapper.Mapper.Map(viewModel,new讲师);”出现此错误时:
缺少类型映射配置或不支持的映射
映射类型:
讲师索引数据->讲师
SchoolIn.ViewModels.Instructor索引数据->SchoolIn.Models.Instructor
目标路径:
指导员
源值:
SchoolIn.ViewModels.Instructor索引数据
Any iI还注意到,在我的ActionResult(InstructorIndexData viewModel)中,viewModel具有所有空值 根据我的理解,viewModel的类型是Instructor IndexData。如果是,则需要添加配置:
AutoMapper.Mapper.CreateMap<InstructorIndexData, Assignment>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Enrollment>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Student>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Instructor>();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
AutoMapper.Mapper.CreateMap();
viewModel字段的类型是什么?谢谢,我更改了CreateMap,现在代码在db.SaveChanges()处停止,并显示错误消息datetime2数据类型转换为datetime数据类型导致值超出范围。声明已终止。这可能是因为ViewModel在“ActionResult(InstructorIndexData ViewModel)”中有空值吗?是否键入了“datetime2数据类型到datetime”或者你真的有datetime2类型?这个问题与自动映射无关。我建议你单独问一个问题。无论如何,这里有一些关于这个主题的链接:这不是一个拼写错误…我在视图中使用datetime,但不是datetime2DateTime映射到数据库中的datetime2。
[HttpPost]
public ActionResult ClassAttendance(InstructorIndexData viewModel)
{
if (ModelState.IsValid)
{
AutoMapper.Mapper.CreateMap<AttendanceData, Assignment>();
AutoMapper.Mapper.CreateMap<AttendanceData, Enrollment>();
AutoMapper.Mapper.CreateMap<AttendanceData, Student>();
AutoMapper.Mapper.CreateMap<AttendanceData, Instructor>();
Instructor newInstructor = new Instructor();
Student newStudent = new Student();
Assignment newAssignment = new Assignment();
Enrollment newEnrollment = new Enrollment();
AutoMapper.Mapper.Map(viewModel, newInstructor );
AutoMapper.Mapper.Map(viewModel, newStudent);
AutoMapper.Mapper.Map(viewModel, newEnrollment);
AutoMapper.Mapper.Map(viewModel, newAssignment);
db.Assignments.AddObject(newAssignment).;
db.SaveChanges();
return RedirectToAction("Index");
}
return View();
}
AutoMapper.Mapper.CreateMap<InstructorIndexData, Assignment>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Enrollment>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Student>();
AutoMapper.Mapper.CreateMap<InstructorIndexData, Instructor>();