如何使AutoMapper自动生成此代码?

时间:2018-07-27 23:19:13

标签: c# asp.net automapper automapper-4

我是使用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

StudentDtoTeacherDto都继承自它 因此,如果它是从StudentDtoTeacherDtoAccount

,我想使automapper对其进行自动映射。

这是课程

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; }
}

有一个简单的解决方案吗?

0 个答案:

没有答案