让我们有一个 DTO 类:
public class UserDto {
public int Id { get;set; }
}
和 viewmodel 类(基础 mvc 项目库):
public abstract class UserViewModelBase {
public int Id { get;set; }
}
现在当我像这样为自动映射器创建映射时:
Mapper.CreateMap<UserDto, UserViewModelBase>();
在主 web mvc 项目中,我创建了 UserViewModelBase 的实现,如下所示:
public class UserViewModel: UserViewModelBase {
}
现在当我打电话给这个时:
Mapper.Map<UserDto, UserViewModel>()
它失败并出现这样的错误:
缺少类型映射配置或不支持的映射。
UserDto -> UserViewModel
据我了解,这是因为我没有定义 UserDto 和 UserViewModel 之间的直接映射。我想知道是否有某种方法可以告诉 AutoMapper 使用此地图Mapper.CreateMap<UserDto, UserViewModelBase>();
它应该接受任何类型作为继承自UserViewModelBase
.