我是使用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
都继承自它
因此,如果它是从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; }
}
有一个简单的解决方案吗?