【发布时间】:2011-10-13 01:44:05
【问题描述】:
我有一个基类:
public abstract class User
{
/* properties */
}
public class Teacher : User
{
}
public class Student : User
{
}
然后我想基于一个属性将我的视图模型映射到这些子类之一:
public enum UserType
{
Teacher,
Student
}
public class UserVM
{
/* Properties of User */
public UserType UserType {get; set;}
}
基于UserVM.UserType,我想映射到相关的子类:
userModel.UserType = UserType.Teacher;
//user will be of type Teacher
var user = Mapper.Map<UserVM, User>(userModel);
如何为此设置我的CreateMap 配置?
【问题讨论】:
-
是您试图映射到抽象类的问题吗?如果你知道类型是 Teacher,为什么不能只做 Mapper.Map
() ? -
@someweather,我想将该逻辑带入映射器,因为我可能需要多次编写该代码来检查类型,然后选择映射类型。
-
这会有帮助吗?您仍然需要某种方式来访问所需继承类的类型...stackoverflow.com/questions/5578253/…
标签: asp.net-mvc asp.net-mvc-3 automapper