我是使用 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 对其进行自我自动映射,如果它来自StudentDto
或TeacherDto
到Account
这是课程
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; }
}
有简单的解决方案吗?