1

我是使用 Automapper 的新手,我搜索了很多正确答案,但似乎我无法正确理解它,所以:

我有这段代码

    var user = usersDao.FindById(HttpContext.Current.User.Identity.GetUserId());
    var userDto = Mapper.Map<ApplicationUser, UserDto>(user);
        if (user.Student != null)
        {
         userDto.Account = Mapper.Map<Student, StudentDto>(user.Student);
        }
        if (user.Teacher != null)
        {
        userDto.Account = Mapper.Map<Teacher, TeacherDto>(user.Teacher);
        }
        userDto.Account.User = null;

所以我想做的是我的UserDto班级有这个属性

AccountDto Account

两者都StudentDto继承TeacherDto自它,所以我想让 automapper 对其进行自我自动映射,如果它来自StudentDtoTeacherDtoAccount

这是课程

public class StudentDto : AccountDto
    {

    }
public class TeacherDto: AccountDto
    {

    }
public class AccountDto 
    {
        public UserDto User { get; set; }
        public string UserId { get; set; }

    }
public class UserDto 
{
    public AccountDto Account { get; set; }
}

有简单的解决方案吗?

4

0 回答 0