0

嗨,我正在使用 autommapper 映射 beetween 对象,我有一种情况,我必须映射到一个包含另一个属性的对象,然后它是源。当我尝试运行程序时,我得到了这个错误:

{"\n找到未映射的成员。查看下面的类型和成员。\n添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型\n============ ==================================================== ==================================================\ r\nGetUpcomingLessons_Result -> UpcomingLessonDTO(目标成员列表)\r\neConnect.Model.GetUpcomingLessons_Result -> eConnect.DomainServices.Contracts.DTOs.Dashboard.UpcomingLessonDTO(目标成员列表)\r\n------ -------------------------------------------------- -------------------------------------------------- --\r\n教师官方名称\r\n"}

但是这个错误所说的不可能是真的,因为我为这两个对象添加了映射:

 Mapper.CreateMap<GetUpcomingLessons_Result, UpcomingLessonDTO>();

只有当我添加附加字段 TeacherOfficialName 时才会出现错误。

这是我试图映射的女巫的代码:

public partial class GetUpcomingLessons_Result
{
    public string CourseName { get; set; }
    public string ModuleName { get; set; }
    public Nullable<int> ModuleInstanceId { get; set; }
    public int StudentAssignmentId { get; set; }
    public int StudentAssignmentInstanceId { get; set; }
    public Nullable<System.DateTime> EventDate { get; set; }
    public Nullable<System.DateTime> StartTime { get; set; }
    public Nullable<System.DateTime> EndTime { get; set; }
    public string TeacherLastName { get; set; }
    public string TeacherMiddleName { get; set; }
    public string TeacherGender { get; set; }
    public Nullable<int> LessonNumber { get; set; }
    public string LocationName { get; set; }
}

这是我要映射的女巫的代码:

public class UpcomingLessonDTO
{
    public string CourseName { get; set; }
    public string ModuleName { get; set; }
    public int? ModuleInstanceId { get; set; }
    public int StudentAssignmentId { get; set; }
    public int StudentAssignmentInstanceId { get; set; }
    public DateTime? EventDate { get; set; }
    public DateTime? StartTime { get; set; }
    public DateTime? EndTime { get; set; }
    public string TeacherLastName { get; set; }
    public string TeacherMiddleName { get; set; }
    public string TeacherGender { get; set; }
    public int? LessonNumber { get; set; }
    public string LocationName { get; set; }

    // additional fields
    public string TeacherOfficialName { get; set; }
}

如何使用自动映射器为这两个对象创建映射?

4

1 回答 1

1

尝试这个:

Mapper.CreateMap<GetUpcomingLessons_Result, UpcomingLessonDTO>()
.ForMember(dest => dest.TeacherOfficialName, opt => opt.Ignore());
于 2013-06-27T05:30:59.543 回答