C# 自动映射对象列表中的嵌套对象列表

C# 自动映射对象列表中的嵌套对象列表,c#,automapper,C#,Automapper,我有以下课程: public class Course { public int CourseId; public List<Exam> Exams; } public class Exam { public int ExamId; public float Score; } 更新 映射规则: CreateMap<Course, CourseVM>() CreateMap() 您是否编写了MappingProfile 如果你想使用automapper,你必须告诉他你

我有以下课程:

public class Course
{
public int CourseId;
public List<Exam> Exams;
}

public class Exam
{
public int ExamId;
public float Score;
}
更新 映射规则:

CreateMap<Course, CourseVM>()
CreateMap()

您是否编写了MappingProfile

如果你想使用automapper,你必须告诉他你想如何绘制地图

以下是automapper配置文件的示例:

public class RestaurantMappingProfile:Profile
{
公共餐厅应用程序文件()
{
CreateMap()
.ForMember(m=>m.City,c=>c.MapFrom(s=>s.Address.City))
.FormMember(m=>m.Street,c=>c.MapFrom(s=>s.Address.Street))
.ForMember(m=>m.ZipCode,c=>c.MapFrom(s=>s.Address.ZipCode));
CreateMap();
CreateMap()
.ForMember(r=>r.Address,c=>c.MapFrom(dto=>newaddress())
{City=dto.City,ZipCode=dto.ZipCode,Street=dto.Street});
CreateMap();
}

你写了MappingProfile吗

如果你想使用automapper,你必须告诉他你想如何绘制地图

以下是automapper配置文件的示例:

public class RestaurantMappingProfile:Profile
{
公共餐厅应用程序文件()
{
CreateMap()
.ForMember(m=>m.City,c=>c.MapFrom(s=>s.Address.City))
.FormMember(m=>m.Street,c=>c.MapFrom(s=>s.Address.Street))
.ForMember(m=>m.ZipCode,c=>c.MapFrom(s=>s.Address.ZipCode));
CreateMap();
CreateMap()
.ForMember(r=>r.Address,c=>c.MapFrom(dto=>newaddress())
{City=dto.City,ZipCode=dto.ZipCode,Street=dto.Street});
CreateMap();
}

确保指定了正确的配置:

CreateMap<Exam, ExamVM>();

确保指定了正确的配置:

CreateMap<Exam, ExamVM>();

是否指定了映射器规则?@feihoa是的,在问题中也添加了,现在还指定了CreateMap(),并尝试在该方向上执行不同的操作?此外,尝试使所有字段属性为:public int CourseId{get;set;}@feihoa尝试了这个方法并成功了,只是回来给出了一个答案,看到了你的评论,请随意添加它作为答案,我会选择它;)是否指定了映射器规则?@feihoa是的,在问题中也添加了,现在在这个方向上尝试不同的事情CreateMap()也是指定的吗?另外,尝试使所有字段都具有属性:public int CourseId{get;set;}@feihoa尝试了这个方法并成功了,只是回来放一个答案并看到了您的评论,请随意添加它作为答案,我会选择它;)
public class RestaurantMappingProfile: Profile
    {
        public RestaurantMappingProfile()
        {
            CreateMap<Restaurant, RestaurantDto>()
                .ForMember(m => m.City, c => c.MapFrom(s => s.Address.City))
                .ForMember(m => m.Street, c => c.MapFrom(s => s.Address.Street))
                .ForMember(m => m.ZipCode, c => c.MapFrom(s => s.Address.ZipCode));
           
            CreateMap<Dish, DishDto>();
           
            CreateMap<CreateRestaurantDto, Restaurant>()
                .ForMember(r => r.Address, c => c.MapFrom(dto => new Address()
                        { City = dto.City, ZipCode = dto.ZipCode, Street = dto.Street }));
            
            CreateMap<CreateDishDto, Dish>();
        
        
        
        }
CreateMap<Exam, ExamVM>();
public int CourseId { get; set; }