我有一个通用映射器函数,用于在View模型和Domain模型之间进行映射。由于某种原因,它不映射枚举值。
public TDomainModel MapToDomainModel<TViewModel, TDomainModel>(TViewModel viewModel)
{
Mapper.CreateMap<TViewModel, TDomainModel>();
TDomainModel result = Mapper.Map<TViewModel, TDomainModel>(viewModel);
return result;
}
public TViewModel MapToViewModel<TDomainModel, TViewModel>(TDomainModel domainModel)
{
Mapper.CreateMap<TDomainModel, TViewModel>();
TViewModel result = Mapper.Map<TDomainModel, TViewModel>(domainModel);
return result;
}
当从视图模型映射到域模型时,我需要将枚举值映射到整数。从域模型映射到视图模型时,从整数映射到枚举值。
如果解决方案足够灵活,可以从可以为空的枚举转换为更多类型(短,字节等),反之亦然。